Как проверить, является ли загруженный файл изображением?[файл отправлен через HTML5 File API, получен через php: // input] - PullRequest
1 голос
/ 24 апреля 2011

Я работаю с Файловым API-интерфейсом HTML5 (здесь , учебник ), и мне нужно проверить, является ли файл изображением или нет. Основная проблема заключается в том, что при обычной загрузке я мог бы вызвать getimagesize() и в качестве параметра указать путь к временному файлу - и затем решить сохранить его на сервере или нет.

Однако с помощью API выгрузки файлов файлы принимаются с php://input, который возвращает фактические биты передачи.

Какой лучший способ проверки в этой ситуации? Нужно ли сохранять биты в физическом месте, а затем проверять и удалять их позже, или это лучший способ?

Спасибо.

1 Ответ

1 голос
/ 24 апреля 2011

Если это изображение, вы будете хранить его на диске?Если да, то я бы сказал, что лучшим способом было бы создать временный файл, записать данные, а затем проверить, является ли это изображение обычными функциями, переместить временный файл в конечный пункт назначения, в противном случае просто удалите его..

Если по какой-то причине вы не хотите этого делать, вы можете проверить магические числа во входящих данных ( вот более полный список ).Однако следует помнить, что это скорее приведет к сбою, чем обычные решения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...