PHPCMS v9上传缩略图“选择的类型必须为图片类型”解决办法

用PHPCMS V9.5.6版本做了一个网站,上传到服务器后发现一个问题。用chrome浏览器访问正常,但是有些浏览器在上传缩略图的时候却提示“选择的类型必须为图片类型”错误。

现象是:选择“上传附件”,选择了jpg格式的图片之后,点击“开始上传”按钮,进度条100%了,但是却在“列表”处不显示好像上传成功的图片(实际上未上传成功),再点击“确定”按钮,就会弹出“选择的类型必须为图片类型”错误提示。

PHPCMS v9上传缩略图“选择的类型必须为图片类型”解决办法


点击缩略图

PHPCMS v9上传缩略图“选择的类型必须为图片类型”解决办法


选择图片,然后上传

PHPCMS v9上传缩略图“选择的类型必须为图片类型”解决办法


提示错误

同样的情况也会发生在内容的“可视化文本编辑器”里面,点击“图像”上传图片,会报错“您的会话已过期,请重新登录。”

两个应该是同一个问题,但是为什么同样的访问,有些浏览器正常,但是有些浏览器出现这样的错误呢?翻遍了网上论坛也没找到原因。

好在有了一个解决办法:

找到文件:/phpcms/modules/attachment/attachments.php

将“//判断是否登录”这个部分屏蔽掉,就是屏蔽21、22、23行(如图)。

PHPCMS v9上传缩略图“选择的类型必须为图片类型”解决办法

再次上传图片就正常了,不过是否有安全隐患呢?

另一种解决办法:

修改21行代码:

if(empty($this->userid)){

改为:

if(empty($this->userid) && empty($_POST['userid'])){

这样就没问题了,看起来比注释要靠谱许多了。

相关文章

本教程操作系统:Windows10系统、phpcms 9版本、Dell G3电脑...
PHPcms访问特点:单一入口模式。无论访问任何一个模块或者功...
例如:{pc:contentaction="position"posid="...
首先,上图之中的红色框框是没有的,我们想要给他加上,当然...
头部<metaname="keywords"content="{$SEO...
做网站时用的到的简单的栏目导航()phpcms多个栏目catidin(9,...