Php 获得;“不允许使用文件类型”;使用Codeigniter上传

Php 获得;“不允许使用文件类型”;使用Codeigniter上传,php,codeigniter,file-upload,upload,mime-types,Php,Codeigniter,File Upload,Upload,Mime Types,首先,关于这个话题已经有很多(已解决的)问题。我尝试了所有可能的解决办法。但是没有用 问题出现在CI版本2.1.4和2.2.1中 我还尝试使用不同的文件类型,例如png、gif和txt 我没有做任何mime类型的改动,例如在.htaccess文件中使用AddType 我使用了一个简单的html表单和一个用于调试的 我已经在PHP版本5.5和5.6(启用了fileinfo模块)中试用过它 mime类型确实存在于mimes.php文件中 tmp文件夹是可写的 我没有选择了… 有人知道问题是什么吗

首先,关于这个话题已经有很多(已解决的)问题。我尝试了所有可能的解决办法。但是没有用

  • 问题出现在CI版本
    2.1.4
    2.2.1
  • 我还尝试使用不同的文件类型,例如
    png
    gif
    txt
  • 我没有做任何
    mime类型的改动,例如在
    .htaccess
    文件中使用
    AddType
  • 我使用了一个简单的html表单和一个用于调试的
  • 我已经在PHP版本
    5.5
    5.6
    (启用了fileinfo模块)中试用过它
  • mime类型确实存在于
    mimes.php
    文件中
  • tmp
    文件夹是可写的
我没有选择了…
有人知道问题是什么吗

提前谢谢


配置
$this->uploadconfig=array(
“上传路径”=>“/tmp/”,
“允许的_类型”=>“png | gif | txt”,
“覆盖”=>TRUE,
“最大大小”=>“25000KB”,
“最大高度”=>“5000”,
“最大宽度”=>“5000”
);
$this->load->library('upload',$this->uploadconfig);
错误
不允许您尝试上载的文件类型。
输出
[文件名]=>test.png
[文件类型]=>图像/png
[文件路径]=>/CORRECT\u服务器路径/tmp/
[完整路径]=>/CORRECT\u SERVER\u path/tmp/test.png
[原始名称]=>测试
[原名]=>
[客户端名称]=>test.png
[文件\u ext]=>.png
[文件大小]=>851
[是_图像]=>1
[图像宽度]=>
[图像高度]=>
[图像类型]=>
[image\u size\u str]=>
我找到了解决方案:

Codeigniter
2.1.4
有一个如上所述的错误。
因此,我已将CI更新到版本
2.2.1
,并遵循更新说明和

在第二次检查
mimes.php
文件后,我注意到原始文件与新版本中包含的文件之间存在差异。我把旧的换成了新的,问题就解决了


升级说明中未记录两个文件之间存在差异的事实。文件的较旧版本(
CI 2.1.4
)返回一个数组。较新的(
CI 2.2.1
)不返回数组,而是使用变量名
$mimes

设置数组。您的min文件中是否定义了'gif'=>'image/gif','png'=>'image/png'?是的,以这种形式:
'png'=>数组('image/png','image/x-png'))
这有助于@Ts检查mime类型,让我找到问题所在。感谢您寻找解决方案。