Php Допустимое расширение загружаемого файла

Возможный дубликат:
Как я могу разрешить определенные типы файлов при загрузке в php?

Я изучаю PHP и Mysql. Я хочу создать функцию, которая позволяет только определенное расширение файла, которое будет загружено пользователем. Подобно..

$whitelist = array("jpg","jpeg","gif","png","bmp","pdf" ); 

Итак, как я могу проверить это расширение файла php. Может кто-нибудь сказать мне, пожалуйста .. Спасибо.

Solutions Collecting From Web of "Php Допустимое расширение загружаемого файла"

Это вариант:

 function checkFormat($source){ $whitelist = array("jpg","jpeg","gif","png","bmp","pdf" ); $type=""; if(version_compare('4.3.0', PHP_VERSION) > 0){ $type=mime_content_type($source['tmp_name']); }else{ $type=$source['type']; } return (in_array($type, $whitelist)); } 

С уважением!

Получите расширение файла загруженного файла с pathinfo файлов pathinfo таких как

 $extension = pathinfo($filename, PATHINFO_EXTENSION); 

а затем проверить белый список разрешенных ограничений

 $allowedExtensions = array("jpg","jpeg","gif","png","bmp","pdf"); $isAllowed = in_array($extension, $allowedExtensions); 

возможно, вам нужно изменить функцию распознавания расширения, чтобы получить некоторые специальные расширения, такие как tar.gz, но это должно сделать трюк.

Изменить: Как сказано здесь, вы не должны проверять расширение файла, но тип mime.

Смотрите здесь: http://www.w3schools.com/php/php_file_upload.asp

Это пример, который показывает, как это сделать.