phpcms上传图片失败提示undefined

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

phpcms上传图片失败提示undefined
phpcms v9.42最新版本在上传图片的时候经常出现图片上传失败,提示错误信息“undefined”,故障现场如下图:
phpcms报错图
解决方法一:
修改php.ini文件(此方法仅适用于VPS或者独立服务器,不适用于虚拟主机,这里仅供参考)。

把extension=php_zip.dll前面的;号去掉(先确保php环境包下面的ext目录有php_zip.dll文件)。

解决方法二:
修改attachment.class.php文件
把 $this->upload_func = ‘copy’;
修改为 $this->upload_func = ‘move_uploaded_file’;
但是需要注意,这种方法可能会造成不能自动远程保存图片。

解决方法三:
把文件phpcms\modules\attachment\attachments.php下载到本地,然后使用文本编辑器打开,找到代码:if(empty($this->userid)){
修改为:if(empty($_POST['userid'])){
之后保存上传回到原空间进行覆盖就可以了。

原理:因为在上传图片提交时 $this->userid一定为空,但在调用时用到了$attachment->set_userid($_POST['userid']);
而$_POST['userid']即是userid的数据。

因此将$this->userid改成$_POST['userid']即可。

早期版本phpcms的attachments.php中就是$_POST['userid'],所以如果您怕修改错了文件,这里也可以下载早前版本的attachments.php进行替换。

我本人采用的是第三种解决方法。

相关文档
最新文档