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

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

时间:2021-07-01 10:21:17 帮助过:19人阅读

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

js部分:

$(".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);}
      })
})

控制器部分:

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 "上传失败";}
        }

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

回复内容:

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

js部分:

$(".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);}
      })
})

控制器部分:

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 "上传失败";}
        }

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

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

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

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

给 Upload 文件夹权限

给 Upload 文件夹权限

人气教程排行