WordPress上传判断是否为中文名图片就自动重命名

企鹅博客 2019年4月15日12:16:30 发表评论 44,991 views

在学做网站论坛之前的的建站教程中,我们介绍了如何让wordpress网站支持上传中文图片名的方法,这个是需要通过修改WORDPRESS程序文件才能实现上传中文名图片的效果。

除了这种方法之外,还有下面一种解决wordpress程序不支持上传中文名图片的方法:WordPress上传中文名图片自动重命名。

方法很简单,只需要在自己的wordpress主题函数文件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');

这种方法实现的效果和前面介绍的方法结果是一样的,最大的好处是每次更新wp都不用再反复修改程序文件了,但是弊端是上传的图片全部都会重命名。

为了解决这种弊端,需要先检测一下图片名中是否包含中文,如果包含中文就重命名,如果不包含中文,就使用原来的图片名。修改后的代码如下:

function tin_custom_upload_name($file){    if(preg_match('/[一-龥]/u',$file['name'])):    $ext=ltrim(strrchr($file['name'],'.'),'.');    $file['name']=preg_replace('#^www\.#', '', strtolower($_SERVER['SERVER_NAME'])).'_'.date('Y-m-d_H-i-s').'.'.$ext;    endif;    return $file;}add_filter('wp_handle_upload_prefilter','tin_custom_upload_name',5,1);

 

相关文章:

WordPress上传文件全部自动重命名

weinxin
欢迎加入中国SEO站长博客之家
本站的所有资源都会上传分享到博客之家,希望大家互相学习交流进步。
企鹅博客

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: