首页  >  文章  >  后端开发  >  linux - Thinkphp文件上传错误提示:不存在的图像文件,本地测试不会这样的,放到服务器才会这样,为什么?

linux - Thinkphp文件上传错误提示:不存在的图像文件,本地测试不会这样的,放到服务器才会这样,为什么?

WBOY
WBOY原创
2016-06-06 20:07:371977浏览

错误的位置:ThinkPHP/Library/Think/Image/Driver/Gd.class.php  LINE: 42

js部分:

<code>$(".upavater").change(function(){
  var fdpic=new FormData();
  var pic=$("#upavater").get(0).files[0];
  fdpic.append("pic",pic);
$.ajax({  
          url: avaterurl,  
          type: 'POST',  
          data: fdpic,  
          //async: false,  
          cache: false,  
          enctype: 'multipart/form-data',
          contentType: false, 
          processData: false
          success:function(d){colsole.log(d);}
      })
})</code>

控制器部分:

<code>public function avater(){
        $upload = new \Think\Upload();// 实例化上传类
        $upload->maxSize   =     3145728 ;// 设置附件上传大小3M
        $upload->exts      =     array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
        $upload->rootPath  =     "./Public/avater/"; // 设置附件上传根目录
        $upload->subName  =     array('date','Ym');
        $info   =   $upload->upload();
        if($Info){echo "上传成功";}else{echo "上传失败";}
        }</code>

本地测试没有问题,但部署到linux服务器就出问题了。

回复内容:

错误的位置:ThinkPHP/Library/Think/Image/Driver/Gd.class.php  LINE: 42

js部分:

<code>$(".upavater").change(function(){
  var fdpic=new FormData();
  var pic=$("#upavater").get(0).files[0];
  fdpic.append("pic",pic);
$.ajax({  
          url: avaterurl,  
          type: 'POST',  
          data: fdpic,  
          //async: false,  
          cache: false,  
          enctype: 'multipart/form-data',
          contentType: false, 
          processData: false
          success:function(d){colsole.log(d);}
      })
})</code>

控制器部分:

<code>public function avater(){
        $upload = new \Think\Upload();// 实例化上传类
        $upload->maxSize   =     3145728 ;// 设置附件上传大小3M
        $upload->exts      =     array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
        $upload->rootPath  =     "./Public/avater/"; // 设置附件上传根目录
        $upload->subName  =     array('date','Ym');
        $info   =   $upload->upload();
        if($Info){echo "上传成功";}else{echo "上传失败";}
        }</code>

本地测试没有问题,但部署到linux服务器就出问题了。

查看图片目录文件是否存在,权限是否有

怎么解决啊?也遇到了同样的问题,找半天也没找到原因??

这种情况多半是文件读写权限的问题!

给 Upload 文件夹权限

给 Upload 文件夹权限

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn