Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.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图像上传器-即;pjpeg";MIME类型,不工作_Php_Image_Internet Explorer_Upload_Mime - Fatal编程技术网

PHP图像上传器-即;pjpeg";MIME类型,不工作

PHP图像上传器-即;pjpeg";MIME类型,不工作,php,image,internet-explorer,upload,mime,Php,Image,Internet Explorer,Upload,Mime,我有一个艰难的时间与我的图像上传脚本,让图像上传到Internet Explorer。我一直在谷歌搜索一个解决方案,添加“image/pjpeg”mime类型似乎对每个人都适用,但我已经将其添加到我的代码中,仍然无法使其工作 以下是我所拥有的: $acceptedExts = array ('jpg','jpeg'); if ( in_array($ext,$acceptedExts) && ( $_FILES["uploaded_file"]["type"] ==

我有一个艰难的时间与我的图像上传脚本,让图像上传到Internet Explorer。我一直在谷歌搜索一个解决方案,添加“image/pjpeg”mime类型似乎对每个人都适用,但我已经将其添加到我的代码中,仍然无法使其工作

以下是我所拥有的:

$acceptedExts = array ('jpg','jpeg');

if (  in_array($ext,$acceptedExts)
  &&  (  $_FILES["uploaded_file"]["type"] == "image/pjpeg"
      || $_FILES["uploaded_file"]["type"] == "image/jpeg")
  &&  ($_FILES["uploaded_file"]["size"] < 16000000)) {
$acceptedExts=array('jpg','jpeg');
if(在数组中($ext,$acceptedExts)
&&($_文件[“上载的_文件”][“类型”]=“图像/pjpeg”
||$\u文件[“上载的\u文件”][“类型”]=“图像/jpeg”)
&&($_文件[“上载的_文件”][“大小”]<16000000)){
我做错什么了吗


谢谢!

尝试
var\u dump($\u FILES['uploaded\u file'])
来查看IE到底发送了什么。它可能是
image/jpg
或完全不同的东西。但是,使用用户提供的
['type']是不好的形式
字段进行验证。伪造该值很简单。最好使用服务器端方法确定文件类型,例如或库,两者都返回文件的真正mime类型。

do
var\u dump($\u FILES[“upload\u file”][“type”])
查看浏览器提供的文件类型。啊,我做了var_转储,它说出于某种原因它是一个图像/png…奇怪!知道为什么吗?这帮助解决了我的问题,所以现在我只允许图像/png,它工作得很好!非常感谢!