wordpress实现上传图片自动命名
事情是这样的,kaiwen同学的站善意画坊裂图了…… 。让我去看了一下,有的图完好有的图死掉,到底是为啥?看完妹子后发现连接出现问题。
1./wp-content/uploads/2010-300×235.png正常#
2./wp-content/uploads/<span style=”color: #ff0000;”>qq传送文件XX</span>.png不正常#
这很明显,中文命名导致的图片连接错误,wordpress开发手册上曰“中文命名者,非死图不能治也”。
已经用中文命名的同学们,极有可能在更新wp版本后死图,搬家也有可能死图……而且不能通过批量数据库来更新图片地址,没错就是这么残酷已经有人死1000图了….肿么办,难道我们坐以待毙》?
- 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);
[buy]将这段代码黏贴到functions.php(主题文件)[/buy]使用这个源码吧,多媒体或者图片文件自动重命名为15位的MD5文件名。上传任何图片都会被命名为15位MD5文件,这样就不用区分文件而导致麻烦了。
黏贴后保存文件 =-= 等待,上传一张图片看看怎么样~成功了吧~~~~~~~
编辑:fkwebs
2014年8月23日