Сообщение от sdareios
|
вот только пользователь все равно сможет загрузить файл другого типа выбрав его в окне выбора файла
|
Это как? Значения accept не все браузеры в общем то слушаются так как вам хочется, но тип файла file.type будет определен (есть небольшие косяки с мелкософтовскими документами, как выяснилось, но вам это боком). А указанные типы в accept как image/jpeg,image/png... легко превратить в шаблон рег. выражения и создав по нему RegExp. Проверка file.type по этому шаблону никак не даст загрузить с диска не тот тип.
Другой тип можно загрузить только левым запросом, и в случае если сервер не проверяет данные извне. Поэтому проверка типа совсем не требует отдельного кода аж с 23 по 37 строки.
Вы мусортите в js коде вставками php, если потребуется подключение js, то это уже работать не будет.
PS. Значение accept можно превратить и в массив, искать в нем вхождение file.type (indexOf(), includes()).