修复Phpcms v9编辑器内容重复上传图片的Bug
作者:欧阳 发布时间:2020年05月20日 阅读: 3,549 分类:发现分享
- PHPCMS对应已经发布的文章,再次编辑修改的时候,如果编辑器里边有图片,在提交保存的时候会将图片无判断本站图片而再次保存下来,造成图片重复保存上传。
这一Bug是基于内容字段开启了编辑器保存远程图片,具体设置在内容 > 内容相关设置 > 模型管理 > 模型字段管理, Phpcms v9模型字段内容content,属于editor类型,是否保存远程图片:是,如果勾选了保存远程图片,则会在启用https后出现上述的重复上传附件的Bug问题。
如果修正Phpcms v9编辑器内容重复上传图片的Bug?
具体修改phpcms的attachment附件类函数:phpcms/libs/classes/attachment.class.php文件中的function download()方法。
具体修改代码:
foreach($remotefileurls as $k=>$file) {
if(strpos($file, '://') === false || strpos($file, $upload_url) !== false) continue;
……
}
修改为:
foreach($remotefileurls as $k=>$file) {
//判断是否同一域名,避免重复上传编辑器中的图片 @cmsyou
$filehost = parse_url(strtolower($file));
$uploadhost = parse_url(strtolower($upload_url));
if(strpos($file, '://') === false || strpos($file, $upload_url) !== false || $filehost['host'] == $uploadhost['host']) continue;
……
}
文章来源:[[Phpcms v9安全域名HTTPS改造SSL组件更新]][1]
如果您还有什么疑惑或建议,欢迎在下方评论区继续讨论。
如果您觉得本文还不错,欢迎分享/打赏本文。当然,如果你无视它,也不会影响你的阅读。再次表示欢迎和感谢!