linux 无法生成缩略图,Thinkphp3.2 Linux下缩略图生成失败

代码在本地运行正常,部署到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] < 100 || $temp_size [1] < 100) { // 判断宽和高是否符合要求$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 ();

你在以上之前调试,echo "ddddddddddd";exit;

看看能否有输出信息。

还有,开启调试模式,有错误,会自动显示错误

本地正常,表示代码没有问题

Linux下不正常,可能是:

1、文件不全

2、路径和文件名没注意大小写

3、权限问题

4、php版本问题

if (isset ( $_POST ['sessionid'] )) {

session_id ( $_POST ['sessionid'] );

session_start (); // 注意此函数要在session_id之后

}

THINKPHP 自动启用 session_start ,你自己设置的,重复了。

import ( 'Org.Net.UploadFile' );

$upload = new \UploadFile ();

你在以上之前调试,echo "ddddddddddd";exit;

看看能否有输出信息。

还有,开启调试模式,有错误,会自动显示错误

session_start 注销后,还是没返回值。 dddd能返回,

看我贴的代码:if (! $upload->upload ()) { // 上传错误提示错误信息 这行之前 输出都是可以返回的。

本地正常,表示代码没有问题

Linux下不正常,可能是:

1、文件不全

2、路径和文件名没注意大小写

3、权限问题

4、php版本问题

1、文件不全应该不会吧,

2、缩略图和原图上传公用一个路径,原图能上传,说明路径没错

3、php5.3.6的,TP3.2只要5.3以上就可以,不然早报错了

4、我已经把网站的跟目录递归777了,下面所有的都是777 都看过了上传的那个文件夹也是777 不然原图也传不上啊

清空 Runtime 目录再试,应该没有其他可能了

清空 Runtime 目录再试,应该没有其他可能了

我觉得另蹊跷,先清完缓存,再回

清空 Runtime 目录再试,应该没有其他可能了

没用呢,连个返回值都木有,哎。

既然原图成功,那应该是处理成缩略图的时候出错了。

你应该到具体生成缩略图的代码里调试,看看哪一步出错了。

缩略图如果生成失败,检查缩略图的文件路径和权限是否正确。

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值