|
今天在使用目录辅助函数和文件辅助函数的时候发现不能出来中文。
中文读出来是乱码。
查了一下相关资料
PHP的很多出来文件和路径的系统函数本身就是不支持中文的
这个最好的解决办法就是使用正则表达式去处理
例如basename不支持中文可以使用下面的函数来做
PHP复制代码 function get_basename ($filename){
return preg_replace('/^.+[\\\\\\/]/', '', $filename);
}
复制代码
这个我测试了 在纯PHP里面是没有问题的,但是不知道为什么放到 CI 里面就不行了
另外还找到下面这个方式,也是在CI 里面不行
PHP复制代码 function path_info ($filepath)
{
$path_parts = array();
$path_parts ['dirname'] = rtrim(substr($filepath, 0, strrpos($filepath, '/')),"/")."/";
$path_parts ['basename'] = ltrim(substr($filepath, strrpos($filepath, '/')),"/");
$path_parts ['extension'] = substr(strrchr($filepath, '.'), 1);
$path_parts ['filename'] = ltrim(substr($path_parts ['basename'], 0, strrpos($path_parts ['basename'], '.')),"/");
return $path_parts;
} 复制代码
|
|