2010-02-26 4 views
0

Мне нужно создать скрипт, который будет принимать файлы от пользователя и загружать их на сервер. Я уже сделал это, и с моей первой попытки я построил некоторые проверки, чтобы убедиться, что загружен правильный тип mime. Сегодня я узнал, что браузеры интерпретируют типы mime по-разному. Это заставляет меня думать, что, возможно, это не стоит проверять в конце концов. Последнее, что я хочу, это заставить пользователя сказать мне, что они не могут загрузить файл, потому что их браузер не обрабатывает типы mime так же, как моя моя.Вопрос о массиве файлов и типах mime

Что можно предложить. Должен ли я отказаться от типа mime и проверить расширение или есть лучший способ сделать это? Я знаю, что для этого есть опция CURL, но я думаю, что это будет излишним для этой ситуации.

ответ

0

Посмотрите на FileInfo. Никогда не полагайтесь на данные, предоставленные вам пользователем/браузером для проверки.

+0

Спасибо. Где документы? Я вижу только пользовательские примечания. – Jim

+0

Я согласен с вами в том, что вы не доверяете чему-либо из браузера. – Jim

+0

@Jim: В частности, вам понадобится finfo_file: http://www.php.net/manual/en/function.finfo-file.php – jasonbar

0

Я бы выбрал фильтр исключения. Установите поддерживаемые расширения (jpeg, jpg, gif, png, txt, doc, xls и т. Д.), Сопоставьте их и проверьте, действительно ли файлы изображений имеют изображения с getimagesize().

Это другой подход, я думаю, он немного лучше, так как вы не хотите, чтобы каждый файл был загружен.

Теперь, когда я думаю об этом, вы можете реализовать оба варианта.

Удачи.

Смежные вопросы