Thinkphp3.2 Linux下缩略图生成失败,该怎么处理
程序员文章站
2022-05-10 13:42:31
...
Thinkphp3.2 Linux下缩略图生成失败
代码在本地运行正常,部署到Linux就不好使了。
前端代码:
php端代码:
其中$this->ajaxReturn ( (1/2/3), 'json' );为调试代码
可以返回1,当1注销时2和3都不返回,1,2,3都注销时,什么都不返回,
缩略图和原图都是一个路径,原图上成功说明缩略图路径没错。所以我就搞不懂了。
现在问题就是,缩略图生成失败,没有返回值,求大神帮忙,本来想把上传插件源码传上来参考的,没有上传附件功能啊,放这个框里 又太长 = =
------解决方案--------------------
if (isset ( $_POST ['sessionid'] )) {
session_id ( $_POST ['sessionid'] );
session_start (); // 注意此函数要在session_id之后
}
THINKPHP 自动启用 session_start ,你自己设置的,重复了。
import ( 'Org.Net.UploadFile' );
$upload = new \UploadFile ();
代码在本地运行正常,部署到Linux就不好使了。
前端代码:
php端代码:
public function GoodsUploadify() {
if (! empty ( $_FILES )) {
if (isset ( $_POST ['sessionid'] )) {
session_id ( $_POST ['sessionid'] );
session_start (); // 注意此函数要在session_id之后
}
import ( 'Org.Net.UploadFile' );
$upload = new \UploadFile ();
$upload->maxSize = 3292200;
$upload->allowExts = explode ( ',', 'jpg,gif,png,jpeg' );
$upload->savePath = "./public/GoodsImages/";
// 设置需要生成缩略图,仅对图像文件有效
$upload->thumb = true;
// 设置需要生成缩略图的文件后缀
$upload->thumbPrefix = 'z_,s_'; // 生产2张缩略图
// 设置引用图片类库包路径
$upload->thumbMaxWidth = '520,225';
// 设置缩略图最大高度
$upload->thumbMaxHeight = '520,225';
// 设置上传文件规则
$upload->saveRule = 'uniqid';
// 删除原图
// $upload->thumbRemoveOrigin = true;
$this->ajaxReturn ( 1, 'json' );
if (! $upload->upload ()) { // 上传错误提示错误信息
$this->ajaxReturn ( 2, 'json' );
$this->ajaxReturn ($upload->getErrorMsg (), 0, 'json' );
} else { // 上传成功 获取上传文件信息
$this->ajaxReturn ( 3, 'json' );
$info = $upload->getUploadFileInfo ();
$temp_size = getimagesize ( "./public/GoodsImages/" . $info ['0'] ['savename'] );
if ($temp_size [0] $this->ajaxReturn ( 0, '图片宽或高不得小于100px!', 0, 'json' );
}
$data ['picName'] = $info ['0'] ['savename'];
$data ['status'] = 1;
$data ['url'] = $data ['picName'];
$data ['info'] = $info;
$this->ajaxReturn ( $data, 'json' );
}
}
}
其中$this->ajaxReturn ( (1/2/3), 'json' );为调试代码
可以返回1,当1注销时2和3都不返回,1,2,3都注销时,什么都不返回,
缩略图和原图都是一个路径,原图上成功说明缩略图路径没错。所以我就搞不懂了。
现在问题就是,缩略图生成失败,没有返回值,求大神帮忙,本来想把上传插件源码传上来参考的,没有上传附件功能啊,放这个框里 又太长 = =
------解决方案--------------------
if (isset ( $_POST ['sessionid'] )) {
session_id ( $_POST ['sessionid'] );
session_start (); // 注意此函数要在session_id之后
}
THINKPHP 自动启用 session_start ,你自己设置的,重复了。
import ( 'Org.Net.UploadFile' );
$upload = new \UploadFile ();
相关文章
相关视频