WordPress教程:解决WordPress上传中文附件出现乱码的问题
问题由来 出现这种问题是因为小编在日常生活中使用wordpress编辑文章的时候,上传的图片必须是英文名的,如…
问题由来
出现这种问题是因为小编在日常生活中使用wordpress编辑文章的时候,上传的图片必须是英文名的,如果是中文名的要么就是乱码,要么就是图片不显示,每次都要修改文件名再上传,如果遇到图片多的,那么操作起来就十分的复杂了,而今天特地找了相关的资料,留个wordpress教程给大家,方面大家遇到这样的问题能够有效的解决!
解决方法:
将以下代码加入wordpress主题文件的functions.php文件内:
- function upload_file($filename) {
- $parts = explode(‘.’, $filename);
- $filename = array_shift($parts);
- $extension = array_pop($parts);
- foreach ( (array) $parts as $part)
- $filename .= ‘.’ . $part;
- if(preg_match(‘/[一-龥]/u’, $filename)){
- $filename = md5($filename);
- }
- $filename .= ‘.’ . $extension;
- return $filename ;
- }
- add_filter(‘sanitize_file_name’, ‘upload_file’, 5,1);
2014年02/21更新:wordpress上传文件,文件名自动md5加密并截取指定长度
- function rename_filename($filename) {
- $info = pathinfo($filename);
- $ext = emptyempty($info[‘extension’]) ? ” : ‘.’ . $info[‘extension’];
- $name = basename($filename, $ext);
- return substr(md5($name), 0, 16) . $ext; //截取前面16个字符
- }
- add_filter(‘sanitize_file_name’, ‘rename_filename’, 10);
解决说明:
通过上面的代码,就可以判定我们上传的附件是中文还是英文,如果是中文就会将名称自动转化成md5值来储存。这样,我们上传中文图片的时候就不用担心图片的不显示或者出现乱码了!
2016/12/30
- function uazoh_wp_upload_filter($file){
- $time=date(“YmdHis”);
- $file[‘name’] = $time.“”.mt_rand(1,100).“.”.pathinfo($file[‘name’] , PATHINFO_EXTENSION);
- return $file;
- }
- add_filter(‘wp_handle_upload_prefilter’, ‘uazoh_wp_upload_filter’);
- 解决方法:
- 解决说明:
目录
类别:WordPress教程、
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
还没有任何评论,赶紧来占个楼吧!