在WordPress中上传中文名称的图片时,如果主机不支持中文名称,就会导致上传的中文名称的图片名称显示为乱码,严重的有可能无法在浏览器中正常显示;而且,在FTP下载这些中文名称的图片时,也是以乱码的形式保存,无法恢复原图片。这些问题有多种解决方法,具体如下:
1.插件大法好 使用super-plus插件勾选功能即可,换主题也不会失效。
wp后台搜索安装,功能很多
2.在主题functions.php 文件(文件路径为 /wp-content/themes/)中加入代码实现,换主题后需要重新添加:
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.同上代码
//上传图片自动重命名 add_filter('wp_handle_upload_prefilter', 'custom_upload_filter' ); function custom_upload_filter( $file ){ $info = pathinfo($file['name']); $ext = $info['extension']; $filedate = date('dis').rand(12,98);//为了避免时间重复,再加一段2位的随机数 $file['name'] = $filedate.'.'.$ext; return $file; }