2016-06-24 2 views
1

У меня есть HTML-форма для ввода файла, и php проверяет, является ли файл введенным xls-файлом через расширение .xls !! Теперь, если пользователь переименовывает образ или файл сценария, скажем, abc.jpeg для abc.xsl, файл не будет проверен кодом php! Как я могу проверить, действительно ли это файл xls независимо от расширения? Php код для проверкипроверить файл xls без расширения через php

if(in_array($file_ext,$expensions)=== false) 
{ 
     echo "extension not allowed, please choose a .xls file."; 
    exit(); 
    } 
+0

Если вы так ожидаете, вы должны прочитать файл на основе формата, который вы должны проверить. Значит, если файл xls затем проверяет содержимое, если его изображение проверяет пиксель, если файл doc получает его содержимое и проверяет. – Jagadeesh

+0

http://stackoverflow.com/questions/23287341/how-to-get-mime-type-of-a-file-in-php-5-5? –

+0

@MisterHenson Спасибо, что эта ссылка очень помогла – slash

ответ

0

Вместо того, чтобы использовать расширение файла, я хотел бы предложить вам использовать mime_content_type, который возвращает MIME тип содержимого для файла. Для получения дополнительной информации см. Ссылку http://php.net/manual/en/function.mime-content-type.php.

Вы можете подготовить массив, имеющий все допустимые типы/тип MIME, а затем проверить тип содержимого MIME вашего загруженного файла с помощью функции mime_content_type.

echo mime_content_type ('test.php'); // возвращает text/plain

Это поможет вашему коду подтвердить расширение файла/тип файла в кросс-платформенной (другой совместимости с ОС).

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