热搜词
发表于 2014-4-8 16:04:45 | 显示全部楼层 |阅读模式
PHPCMS V9 后台添加附件,上传图片或是其它格式的附件时,提示“undefined”,如下图:

01.jpg

解决方法一:
把phpcms\modules\attachment\attachments.php中
将                        if(empty($this->userid)){
改成                        if(empty($_POST['userid'])){

如图:
01.jpg
出该问题的原因,初步认为是上传附件时找不到cookie中保存的userid导致的,但当我们提交时读取不到userid,导致该错误的出现。造成无法上传附件。

因为在提交时$this->userid一定为空,但在调用时用到了$attachment->set_userid($_POST['userid']);
而$_POST['userid']即是userid的数据。因此将$this->userid改成$_POST['userid']即可。

PHPCMS V9.5.2已经没有这个问题了,你这个是V9.5.2前的临时解决办法

解决方法二:
如果用以上第一种方法仍不能解决,改用下面分方法试试。

修改Apache服务器的httpd-vhosts.conf配置文件中的VirtualHost选项,如:

<VirtualHost *>
    ServerAdmin admin@127.0.0.2
    DocumentRoot ../vhosts/127.0.0.2
    ServerName 127.0.0.2:80
    ServerAlias *.127.0.0.2
    ErrorLog logs/127.0.0.2-error_log
    php_admin_value open_basedir "D:\PHPnow-1.4.5-20\vhosts\127.0.0.2;C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp;"
</VirtualHost>

把其中含有php_admin_value open_basedir 一行去掉即可。

也可把其中的C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp改成C:\WINDOWS\Temp

即为 php_admin_value open_basedir "D:\PHPnow-1.4.5-20\vhosts\127.0.0.2;C:\WINDOWS\Temp;"

注:
open_basedir可将用户访问文件的活动范围限制在指定的区域,通常是其家目录的路径,也可用符号"."来代表当前目录。


本帖被以下淘专辑推荐:

全部评论0
回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|管理员之家 ( 苏ICP备2023053177号-2 )

GMT+8, 2024-11-23 13:46 , Processed in 0.212795 second(s), 31 queries .

Powered by Discuz! X3.5

Cpoyright © 2001-2024 Discuz! Team