网站地图    收藏   

主页 > 后端 > wordpress教程 >

WordPress上传文件中文乱码(自动重命名) - WordPres

来源:自学PHP网    时间:2014-11-28 23:42 作者: 阅读:

[导读] 可能会有不少朋友碰到在使用WordPress上传文件中文文件时会出现乱码情况了,下面我来介绍中文乱码的解决方法,这里我们是自动重命名来解决些问题 下面以wordpress 3 2 1为例,打开wp-admin...

WordPress上传文件中文乱码(自动重命名)

可能会有不少朋友碰到在使用WordPress上传文件中文文件时会出现乱码情况了,下面我来介绍中文乱码的解决方法,这里我们是自动重命名来解决些问题.

下面以wordpress 3.2.1为例,打开wp-admin/includes/file.php文件,找到第326行这段代码:

  1. // Move the file to the uploads dir 
  2. $new_file = $uploads['path'] . "/$filename"
  3. if ( false === @ move_uploaded_file( $file['tmp_name'], $new_file ) ) 
  4.         return $upload_error_handler$file, sprintf( __('The uploaded file could not be moved to %s.' ), $uploads['path'] ) ); 

将其修改为:

  1. // Move the file to the uploads dir 
  2. $new_file = $uploads['path'] . "/".date_i18n("YmdHis").floor(microtime()*1000).".".$ext;  
  3. if ( false === @ move_uploaded_file( $file['tmp_name'], $new_file ) ) 
  4.         return $upload_error_handler$file, sprintf( __('The uploaded file could not be moved to %s.' ), $uploads['path'] ) ); 

保存,重新上传文件,这样,新上传的文件,就会自动保存为“年月日时分秒+千位毫秒整数”的新文件名,并保存到相应的年月文件夹之下了,没错,就这么简单,测试、通过,面对欧美客户的英文外贸网站推荐使用此法.

有些wordpress我们并不不需要在file.php文件上操作,只需要在functions.php文件中操作即可,此方法更方便,在functions.php中加入以下代码:

  1. function new_filename($filename) { 
  2.     $info = pathinfo($filename); 
  3.     $ext = emptyempty($info['extension']) ? '' : '.' . $info['extension']; 
  4.     $name = basename($filename$ext); 
  5.     return md5($name) . $ext
  6. add_filter('sanitize_file_name''new_filename', 10); 

添加保存之后,就可以实现了文件的自动更名,自动生成的是一个32个的md5加密的文件名,如果你认识32位的文件名太长了,你可以使用 substr()来截取你想要的长度,代码如下,我使用的是15位,代码如下:

  1. function new_filename($filename) { 
  2.     $info = pathinfo($filename); 
  3.     $ext = emptyempty($info['extension']) ? '' : '.' . $info['extension']; 
  4.     $name = basename($filename$ext); 
  5.     return substr(md5($name), 0, 15) . $ext
  6. add_filter('sanitize_file_name''new_filename', 10); 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论