新闻中心

phpcms v9.42版本上传图片出现undefined解决办法

作者 / 无忧主机 时间 2013-12-13 20:09:44

今天无忧主机小编遇到客户反映过来的这样一个问题:phpcms v9.42最新版本在上传图片的时候经常出现图片上传失败,提示错误信息“undefined”,故障现场如下图: [caption id="attachment_13360" align="alignnone" width="496"]phpcms报错图 phpcms报错图[/caption] 作为客户来讲,遇到问题,第一反应是我们的香港虚拟主机空间对附件上传进行了限制,所以找到询问情况,这也是可以理解的。 由于没有遇到过同类问题,对于客户这个问题,无忧主机小编从网上寻求了帮助。这不搜不知道,遇到这样问题的远远不止这位客户而已。下面无忧主机(www.51php.com)小编就把在网上搜集到的解决方法奉献给大家,给大家参考。 解决方法一: 修改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进行替换。 上面是无忧主机(www.51php.com)小编收集的几种此问题的方法,大家都可以试一下。 更多关于phpcms问题可以参考教程: PHPCMS如何修改底部POWERED BY PHPCMS版权信息 PHPCMS内容管理系统如何给网站更换域名 如何解决PHPCMSV9安装好后访问为什么404    

本文地址:https://www.51php.com/phpcms/13359.html

1
1
1
1
1
1
1