解决php 重命名文件中文乱码问题

2024-02-15 17:10:26 举报文章
//by www.qzphp.cn
//glob() 返回指定目录下的文件名以及目录
$arr = glob(ROOT_PATH."upload_files/yuanxiaoku/*.jpg");
foreach($arr as $file) {
	$file = iconv('gb2312','utf-8',$file);//重点
	if(get_basename($file) == "武汉科技大学城市学院.jpg"){
		$new_file = str_replace(get_basename($file),"武汉科技大学城市学院院.jpg",$file);
		rename(iconv('utf-8' , 'gbk' ,$file), iconv('utf-8' , 'gbk' ,$new_file));
	}
}
function get_basename($filename){
	return preg_replace('/^.+[\\\\\\/]/', '',$filename);
}

重点是:rename();函数英文数字都OK,但是如果是中文重命名,需要转换下:

//by www.qzphp.cn
iconv('utf-8' , 'gbk' ,$file)
如果你认为本文可读性较差,内容错误,或者文章排版错乱,请点击举报文章按钮,我们会立即处理!