Php opencart-插入图像的Url编码不正确
在ckeditor中插入图像时,url输出为Php opencart-插入图像的Url编码不正确,php,opencart,Php,Opencart,在ckeditor中插入图像时,url输出为http://site.com/image/data/004 -复制.jpg而不是http://site.com/image/data/004%20-%20Copy.jpg 请记住,图像会正确显示在网站上,但当我想发送电子邮件时,电子邮件客户端(例如gmail)会将url文件名编码为http://site.com/image/data/004+-+Copy.jpg返回404 我可以用rawurlencode()解决这个问题,但似乎找不到添加它的位置。有
http://site.com/image/data/004 -复制.jpg
而不是http://site.com/image/data/004%20-%20Copy.jpg
请记住,图像会正确显示在网站上,但当我想发送电子邮件时,电子邮件客户端(例如gmail)会将url文件名编码为http://site.com/image/data/004+-+Copy.jpg
返回404
我可以用rawurlencode()解决这个问题,但似乎找不到添加它的位置。有什么想法吗?
编辑:
我找到了要编辑的位置(filemanager.tpl)
window.opener.CKEDITOR.tools.callFunction(,''+$(this.find('input[name=\'image\'])).attr('value')代码>
如何使用rawurlencode对$(this).find('input[name=\'image\']').attr('value')
)进行编码?显然,您不能直接使用PHP的rawurlencode
,但您可以通过实现自己的JavaScript版本的函数来进行即兴创作
function rawurlencode (str) {
return encodeURIComponent(str).replace(/!/g, '%21').replace(/'/g, '%27').replace(/\(/g, '%28').
replace(/\)/g, '%29').replace(/\*/g, '%2A');
}
而且
rawurlencode($(this).find('input[name=\'image\']').attr('value'));
显然,您不能直接使用PHP的rawurlencode
,但您可以通过实现自己的JavaScript版本的函数来进行即兴创作
function rawurlencode (str) {
return encodeURIComponent(str).replace(/!/g, '%21').replace(/'/g, '%27').replace(/\(/g, '%28').
replace(/\)/g, '%29').replace(/\*/g, '%2A');
}
而且
rawurlencode($(this).find('input[name=\'image\']').attr('value'));
也许一个快速而肮脏的解决办法是不上传有空格的文件?或者我遗漏了什么(我不知道/使用opencart)是的,这将是一个简单的修复,但已经有很多图片,这个网站是为一个客户。重命名图片也将是正确的事情,不仅仅是一个快速修复,IMHO。对我来说,走另一条路听起来更像是一个快速解决办法。要方便地批量重命名,请参阅以下帖子:[bulk-rename-files-in-a-folder-php]()。也许一个快速而肮脏的修复方法是不上载包含空格的文件?或者我遗漏了什么(我不知道/使用opencart)是的,这将是一个简单的修复,但已经有很多图片,这个网站是为一个客户。重命名图片也将是正确的事情,不仅仅是一个快速修复,IMHO。对我来说,走另一条路听起来更像是一个快速解决办法。要方便地批量重命名,请参阅以下帖子:[bulk-rename-files-in-a-folder-php]()。