得到名称为中文的文件的名称问题?
我有这么一段代码,功能是得到文件的名称要在windows和linux下都能使用
$file_name= basename( $sub_dir );
$file_exts = pathinfo( $sub_dir, PATHINFO_EXTENSION );
$file_title = basename( $file_name, ".".$file_exts );
$file_title = iconv('GB2312','UTF-8//IGNORE',$file_title);
$file_name= iconv('GB2312','UTF-8//IGNORE',$file_name);
例如 $sub_dir = "myfile/测试文档.txt"
我希望得到的是
$file_title = "测试文档"
$file_name = "测试文档.txt"
现在的测试结果是 都等于 ".txt"
但是当 $sub_dir = "myfile/_测试文档.txt" 的时候 结果就对了
只要第一个字符不是中文字符就可以。
这是为什么?
在网上找到这个函数 单的测试可以正确处理中文
在codeigniter控制器里面使用就不可以
为什么啊
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;
}
页:
[1]