欢迎您访问我爱IT技术网,今天小编为你分享的电脑教程是建站经验系列之:【phpcms v9升级后台无法上传缩略图的原因分析】,下面是详细的分享!
phpcms v9升级后台无法上传缩略图的原因分析
phpcms V9 是目前国内使用人数最多的一款开源免费的CMS系统,正是由于他的免费性,开源性,以及其自身的功能性比较强大,所以倍受许多站长朋友们的亲来,以及许多的公司的喜欢。phpcms也为了完善程序漏洞,官方人员会经常性的发布一些程序补丁,让用户使用。防止一些特殊群体,通过程序的漏洞去攻击别人的网站。不过这次更新了phpcms v9之后,发现网站后台上传缩略图的时候,会出现无法上传的现象,浏览器提示undefined错误,经过一方面的测试,发现这个错误,只有一些火狐核心的浏览器才会出现,IE,360这种的IE核心浏览器上传一切正常。这是什么原因造成的呢,我们通过程序去排查一下为何后台无法上传缩略图,并出现undefined的错误。

一、phpcms V9 后台无法上传缩略图的处理方法
首先打开网站程序路径中的,phpcms---modules----attachment----attachments.php文件,找到attachments.php文件中的50行---53行代码,这里有一段判断是否登录的程序,我们把这段话删掉就可以了。如图所示
通过删除非常简单的一段话,就能解决类似火狐核心的浏览器,后台无法上传缩略图的错误。接下来我们详细分析为什么这句话,就会导致后台无法上传缩略图呢,以后如果大家遇到程序上面的错误,也可以通过下面的方法去分析,一定要学会灵活使用,程序都是死的,而我们程序员的思维是灵活的。
注:如果您对为何会出现无法上传缩略图错误不感兴趣,以下内容均可略过不看!
二、phpcms V9 后台无法上传缩略图的原因分析
既然知道是这句话的原因了,那么我们就看看为何是这句话导致了无法上传缩略图。
if(isset($_POST['dosubmit'])){ //判断是否点击了提交按钮
//判断是否登录
if(empty($this->userid)){ //如果useid为空,则直接退出。($this指类本身,是由attachments类在构造函数制定的。)
exit('0');
}
既然是判断了userid为空就退出,那我们无法上传缩略图,肯定是被判断为空了。我们把$this->userid输出一下看看。

从图中可以看出,这里输出的是1,也就是说$this->userid是为1的,1肯定不是空值了。那怎么会出现退出现象了呢。我们再换一个方法测试,看看
if(empty($this->userid)){
exit('0');
}
这句话是否执行了。
//判断是否登录
if(empty($this->userid)){
echo '';
exit('0');
} else{
echo '';
}
如图所示:

我们看到,程序确实执行了,跳出的动作。看来火狐核心的浏览器还是把“1”当成了empty来处理,所以导致了,phpcms V9在使用火狐核心的浏览器时,后台无法上传缩略图的现象。\
济南网站建设www.0531soso.com
以上所分享的是关于phpcms v9升级后台无法上传缩略图的原因分析,下面是编辑为你推荐的有价值的用户互动:
相关问题:phpcms V9 上传缩略图 提示 上传错误,怎么修改?
答:请确认你有上传权限或目录有写入权限。 >>详细
相关问题:phpcms v9后台上传图片时出现缺少图像源文件地址
答:解决步骤如下: 1.在安装PHP环境的目录下面,找到 php.ini文件。 2. 打开php.ini ,查找upload_tmp_dir ,把这个词前面的“;”号去掉,使其生效,然后在“=”号后面加上临时文件夹的目录,比如: c:/windows/temp,这个可以自设。 3.在这个文件夹的... >>详细
相关问题:phpcms v9不显示缩略图的问题
答:用{thumb($v[thumb])}也可以输出,这样就不会对图片进行剪裁了 >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
