WordPress网站定制开发专家
WordPress企业主题特惠

赞一个 0

WordPress程序在处理上传中文名称的文件时,上传到Linux服务上后会出现乱码的问题,从而导致保存网站文件时,有些乱码的图片文件无法下载或者作其他类似重命名的处理,所以,在这些中文文件在上传过程中,非常有必要把上传的中文名称的文件进行自动重命名,这样也会方便我们今后对文件的统一管理,具体方法如下:

1,在 functions.php中加入以下代码:

function new_filename($filename) {
$info = pathinfo($filename);
$ext = empty($info[‘extension’]) ? ” : ‘.’ . $info[‘extension’];
$name = basename($filename, $ext);
return md5($name) . $ext;
}
add_filter(‘sanitize_file_name’, ‘new_filename’, 10);

添加以上代码并保存,就可以实现中文文件名称在上传过程中的自动重命名了,系统会自动生成一个32位的md5加密文件名,如果你觉得32位的文件名太长,你还可以使用 substr()来截取你想要的长度,代码如下:

function new_filename($filename) {
$info = pathinfo($filename);
$ext = empty($info[‘extension’]) ? ” : ‘.’ . $info[‘extension’];
$name = basename($filename, $ext);
return substr(md5($name), 0, 15) . $ext;
}
add_filter(‘sanitize_file_name’, ‘new_filename’, 10);

对于上面代码中的 substr(md5($name), 0, 15) . $ext; 里的 15 即为要截取的文件名长度了。

上一篇:

下一篇:

在线客服
在线客服关闭
WPYOU官方微信

扫码关注官方微信