Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何限制在PHP中上载重复的文件扩展名?_Php - Fatal编程技术网

如何限制在PHP中上载重复的文件扩展名?

如何限制在PHP中上载重复的文件扩展名?,php,Php,我在“PHP/pgSQL”中遇到了一个问题。假设php中有一个上载字段,它只接受“.pdf”文件。但是,如果我将“jpg/image”文件(如“bird.jpg”)重命名为“bird.pdf”,那么它也会上载到该文件夹。我的要求是不上传这些重复的重命名文件到服务器上。我已经通过htaccess和php代码尝试了可能的方法。但是没有任何结果。请尽快帮助我。Thanx预先通知。:) 永远不要信任文件扩展名: $finfo = finfo_open(FILEINFO_MIME_TYPE); $mime

我在“PHP/pgSQL”中遇到了一个问题。假设php中有一个上载字段,它只接受“.pdf”文件。但是,如果我将“jpg/image”文件(如“bird.jpg”)重命名为“bird.pdf”,那么它也会上载到该文件夹。我的要求是不上传这些重复的重命名文件到服务器上。我已经通过htaccess和php代码尝试了可能的方法。但是没有任何结果。请尽快帮助我。Thanx预先通知。:)

永远不要信任文件扩展名:

$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mime = finfo_file($finfo, $_FILES['file']['TMP_NAME']);

if ($mime !='application/pdf'){
//BAD FILE
}
参考:

可能的副本