Это делается с помощью атрибута accept
, но он поддерживается не всеми браузерами.
<input type=file name=photo size=20 accept="image/*">
Это сложно использовать стандартный элемент управления загрузкой HTML.
Если вы можете потребовать, чтобы у ваших пользователей был Flash, SWFUpload - прекрасная альтернатива. Можно даже фильтровать файлы, которые пользователь видит в режиме «Выбрать файл», по расширению.
Вот демонстрация (измените поле file_types
, чтобы проверить).