WordPress中文图片自动重命名的3种方法汇总
WordPress在处理上传的中文名称的图片时,如果主机不支持中文名称,那么会导致上传的中文名称的图片名称显示为乱码,严重的有可能无法在用户的浏览器中正常显示;而且,在FTP下载这些中文名称的图片时,也是以乱码的形式保存,从而会出现无法恢复原图片的问题,幸好我们使用的WordPress,这些问题有多种解决方法,具体如下:
方法1:修改WordPress系统文件实现
通过FTP工具登录的网站服务器(虚拟主机),找到WordPress网站程序的目录下的/wp-admin/includes/file.php文件,在文件中找到以下代码(可以通过搜索 Move the file to the uploads dir 关键字找到):
// Move the file to the uploads dir $new_file = $uploads['path'] . "/$filename"; if ( false === @ move_uploaded_file( $file['tmp_name'], $new_file ) ) return $upload_error_handler( $file,
将搜索到的以上代码修改为如下代码:
// Move the file to the uploads dir
$new_file = $uploads['path'] . "/".date("YmdHis").floor(microtime()*1000).".".$ext;
if ( false === @ move_uploaded_file( $file['tmp_name'], $new_file ) )
return $upload_error_handler( $file, sprintf( __('The uploaded file could not be moved to %s.' ), $uploads['path'] ) );保存修改后的 file.php 文件,这样就可以实现WordPress上传图片自动重命名了,保存后上传文件名称就会以“年月日时分秒+千位毫秒整数”的格式自动重命名了。
方法2:在主题中添加自定义函数实现
在网站当前使用的主题模板中(一般在主机中的文件路径为 /wp-content/themes/模块文件名)下的 functions.php 文件中加入以下代码:
function wpyou_rename_upload_file_prefilter($file){
$time=date("Y-m-d");
$file['name'] = $time."".mt_rand(1,100).".".pathinfo($file['name'] , PATHINFO_EXTENSION);
return $file;
}
add_filter('wp_handle_upload_prefilter', 'wpyou_rename_upload_file_prefilter');这个方法保存后的文件名称为年月日+随机数字,如果想加上时分秒,修改第三行 $time=date(“Y-m-d”); 为 $time=date(“Y-m-d H:i:s”); 即可。
方法3:在主题中添加自定义函数实现
在网站当前使用的主题模板中(一般在主机中的文件路径为 /wp-content/themes/模块文件名)下的 functions.php 文件中加入以下代码:
function wpyou_rename_upload_file($filename) {
$info = pathinfo($filename);
$ext = emptyempty($info['extension']) ? '' : '.' . $info['extension'];
$name = basename($filename, $ext);
return substr(md5($name), 0, 15) . $ext; // 15 为要截取的文件名长度
}
add_filter('sanitize_file_name', 'wpyou_rename_upload_file', 10);这个方法的代码文件重命名的规则为系统自动生成的一个32位的MD5加密文件名。(因为32位文件名有点长,所以我们在substr(md5($name), 0, 15) 中截断了将其设置为15位).
以上3种方法各有所长,第1种方法是修改WordPress系统文件,所以,不会因为更换主题而导致失效;第2,3种方法是在主题的functions.php 文件中做的扩展,如果更换了网站主题就需要重新加入代码了。
上一篇:安装WordPress时wp-admin/ setup-config.php出现空白的解决方法
栏 目:WordPress
下一篇:WordPress编辑文章时添加媒体/编辑器/可视化…等点击失效的解决方法
本文标题:WordPress中文图片自动重命名的3种方法汇总
本文地址:https://zz.feitang.co/CMSjiaocheng/25048.html
您可能感兴趣的文章
- 11-11wordpress导航菜单新窗口打开的设置方法
- 11-11WP-PostViews插件如何修改文章阅读数
- 11-11wordpress附件保存目录改为年月日和上传文件重命名为时间戳
- 11-11WordPress 上传媒体库文件重命名 全格式支持
- 11-11解决wordpress安装后更新或者上传文件权限不足的问题
- 11-11wordpress实现主动推送+熊掌号推送同步进行
- 11-11WordPress 添加友情链接设置 nofollow 属性
- 11-11WordPress 实现 wp_list_bookmarks 自定义友情链接排除调用
- 11-11WordPress首页指定或排除某分类文章显示
- 11-11WordPress不同分类调用不同的文章模板


阅读排行
推荐教程
- 09-22wordpress如何添加描述
- 11-11wordpress附件保存目录改为年月日和上传文件重命名为时间戳
- 10-19纯代码给WordPress网站添加独立下载页面功能
- 11-11WordPress之给文章内容中间插入广告的实现方法
- 10-18wordpress无插件调用随机文章的方法
- 10-18WordPress 技巧:WordPress 后台也使用七牛云存储
- 10-24Win10无法调节声音怎么办?Win10无法调节声音的解决方法
- 10-19WordPress上传图片HTTP错误的解决方法
- 10-18让注册用户可以上传自己的头像的WordPress插件-WP User Avatar v2.
- 11-11国外WordPress精美主题如何DIY汉化成中文版呢?





