PHP + 允许上传 JPG 文件

Posted

技术标签:

【中文标题】PHP + 允许上传 JPG 文件【英文标题】:PHP + Allow Upload JPG Files 【发布时间】:2012-09-09 00:21:53 【问题描述】:

我有一些 php 代码检查用户上传的文件类型:

  $fileType = $_FILES['file']['type'];
  $allowedFileTypes = array('image/jpeg','image/gif','image/png','image/jpg');
  if(!in_array($fileType, $allowedFileTypes)) echo 'fileTypeNotAllowed'; exit;

我发现上传 gif 和 png 文件时不会触发回显,但 jpg 文件会触发回显。

以下是触发回显的文件示例:

关于我在这里做错了什么有什么建议吗?

谢谢

【问题讨论】:

上传 jpeg 时回显 $fileType 看看它说什么 也许您的代码不允许使用海滩照片 $fileType 包含什么? echo 'fileTypeNotAllowed: '.$fileType; 尝试使用!in_array(strtolower($fileType, $allowedFileTypes))in_array 区分大小写。 是的,它是海滩...大声笑...让它工作 strtolower 修复了它,我还添加了额外的文件类型...使用 echo fileType 来查看问题。非常感谢... 【参考方案1】:

好吧,你想检查他们上传的内容...所以我会使用 !in_array(strtlower($fileType, $allowedFileTypes)) in_array。

这应该可以解决所有问题。

【讨论】:

以上是关于PHP + 允许上传 JPG 文件的主要内容,如果未能解决你的问题,请参考以下文章

PHP图片上传安全检查清单

PHP文件Real Mime [重复]

上传绕过

文件上传绕过

如何用PHP控制文件上传类型?如*.jpg.

文件上传漏洞学习 6-10