最近在windows的php环境突然发现windows的php的文件函数文件名都是使用的GBK编码没有使用utf-8编码。于是需要手动转换一下编码。当然了linux系统都是使用的utf-8编码就没有这些问题啦。
我写了一些常用的函数的包装,供大家方便使用
$Server_System; if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { $Server_System = 'windows';//filename will be changed into utf-8 in windows } else { $Server_System = 'linux'; } function my_file_exists($path) { global $Server_System; if($Server_System == 'windows') { $path = iconv('utf-8','gbk',$path); } return file_exists($path); } function my_file_get_contents($path) { global $Server_System; if($Server_System == 'windows') { $path = iconv('utf-8','gbk',$path); } return file_get_contents($path); } function my_filemtime($path) { global $Server_System; if($Server_System == 'windows') { $path = iconv('utf-8','gbk',$path); } return filemtime($path); } function my_file_put_contents($path,$data) { global $Server_System; if($Server_System == 'windows') { $path = iconv('utf-8','gbk',$path); } return file_put_contents($path,$data); } function my_is_dir($path) { global $Server_System; if($Server_System == 'windows') { $path = iconv('utf-8','gbk',$path); } return is_dir($path); } function my_md5_file($path) { global $Server_System; if($Server_System == 'windows') { $path = iconv('utf-8','gbk',$path); } return md5_file($path); } function my_sha1_file($path) { global $Server_System; if($Server_System == 'windows') { $path = iconv('utf-8','gbk',$path); } return sha1_file($path); }