• 技术文章 >后端开发 >php教程

    WordPress中文名、数字名图片上传自动重命名代码

    PHPzhongPHPzhong2017-03-12 11:59:09原创778
    关于WordPress上传图片自动重命名的代码及方法网上已经非常凌乱,甚至基本都是一成不变的功能,兼容性和效果并不那么理想,比如在php中文网免费worpress模板下载区有很多都是这样,所以我们改进了一下这些代码,可以让WordPress媒体库上传对中文名图片以及无意义的数字命名图片更具较强的兼容性。

    2.png

    在我们使用WordPress发布文章时,经常都需要添加图片、多媒体什么的。然而大家都知道WordPress是个外国货,对于中文的支持以及对国内某些偏执于喜欢使用Windows Server系统服务器的朋友来说就显得不那么可观了,也正是对于我们中文用户来说,我们都习惯或者喜欢把图片命名为中文的,但是由于WordPress的机制的原因,并不能正常的显示图片或者各种的问题。所以就需要给大家带来一个全面而优质的WordPress中文名图片上传解决方案了。

    依然是WordPress的老规矩,将以下代码添加到当前主题的functions.php中:

    //WordPress中文名、数字名图片上传自动重命名
    add_filter('sanitize_file_name','fanly_custom_upload_name', 5, 1 );
    function fanly_custom_upload_name($file){
    $info= pathinfo($file);
    $ext= empty($info['extension']) ? '' : '.' . $info['extension'];
    $name= basename($file, $ext);
    if(preg_match("/[一-龥]/u",$file)){//中文换名
    $file= substr(md5($name), 0, 20) . rand(00,99) . $ext;//截取前20位MD5长度,加上两位随机
    }elseif(is_numeric($name)){//数字换名
    $file= substr(md5($name), 0, 20) . rand(00,99) . $ext;//截取前20位MD5长度,加上两位随机
    }
        return $file;
    }

    使用以上代码还可以解决WordPress文章上传中文名图片附件出现乱码或不显示的问题,也就可以为中文名图片以及无意义的纯数字命名的图片自动使用MD5加密重命名并截取,相比与其它WordPress图片自动重命名兼容性更强,效果也更好一些。

    不过最后还是有一点建议,如果大家重视对图片的优化,大家的图片命名还是竟可能的使用英文单词/词组或这中文拼音等方式,更有利于图片的命名的优化。以上代码使用MD5方式加密命名的方式其实也并不利于图片优化,只是看上去装逼的欲望和逼格更高罢了。当然图片还是要合理的添加alt描述属性才是对图片最最最有利的优化。

    以上就是WordPress中文名、数字名图片上传自动重命名代码的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:WordPress 图片重命名
    上一篇:WordPress移除Feed中的WP版本号步骤 下一篇:PHP变量和内存管理的学习笔记
    PHP编程就业班

    相关文章推荐

    • 或者用到的php代码 • 求指导学习php思路,该怎么解决 • dede首页生成有关问题,附带一个特效有关问题 • 求共享dedecms二次开发视频• PHP提交数据到mysql很奇怪的问题??????????????????????

    全部评论我要评论

  • 末日的春天

    WordPress很多模板都是英文的,对于鸟语不好的来说这是大大的福利。

    2017-03-13

  • 取消发布评论发送
  • 1/1

    PHP中文网