Heim  >  Artikel  >  Backend-Entwicklung  >  htinkphp上传图片报“非法图像文件”

htinkphp上传图片报“非法图像文件”

WBOY
WBOYOriginal
2016-06-23 14:22:002067Durchsuche

thinkphp 图片上传 

本地可以,服务器上不行,可是上传txt文件又成功,肯定不是目录权限的问题。求解



//保存附件到指定路径下面
$upload = new UploadFile();// 实例化上传类
$upload->maxSize = 2*1024*1024;// 设置附件上传大小
$upload->allowExts = explode ( ',','jpg,gif,png,jpeg,txt,doc,docx,wps,xls,et,zip,tar,rar,gz,7z');// 设置附件上传类型
$upload->savePath = 'Tpl/Public/Uploads/task_description/';// 设置附件上传目录

//修改上传文件的名称
$file_name=$_FILES['taskfile']['name'];
$expand_name=explode(".",$file_name);
$new_name=date('YmdHis',time()).'.'.strtolower($expand_name[count($expand_name)-1]);

$_FILES["taskfile"]["name"]=$new_name;

if(!$upload->upload()) {// 上传错误提示错误信息
echo $upload->getErrorMsg();
//$this->error($upload->getErrorMsg());
}else{
$info = $upload->getUploadFileInfo();
//保存数据到数据库中
$data['wlFileUrl']=$info[0]['savepath'].$new_name;
}

回复讨论(解决方案)

既然本地可以,服务器不行,那肯定是服务器那边做了限制。
你传一张小点的图片试试

既然本地可以,服务器不行,那肯定是服务器那边做了限制。
你传一张小点的图片试试

上传的图片很小了,不知道为啥,哎

多换几张图片试一下,有可能是图片问题,还有几十看看你的php文件编码最好utf8,有可能编码的问题也会导致无法上传

总结下:哈哈

      由于thinkph对图片类型判断是有问题的,没有考虑到浏览器对图片类型进行的了转换,比如ie上会把上传的jpg格式文件是image/pjpeg。所以……

怎么解决的?

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn