php中文文件is_file检验失败(编码问题)

  php中判断文件是否存在我们会使用file_exists函数或is_file函数,但在使用file_exists时如果你文件名或路径是中文在uft8编码文档时是无效。

$realname='中文.txt';

//后面加上一个"//IGNORE"就可以是ICONV()函数忽略错误,继续执行 

$realname = iconv("UTF-8","GB2312//IGNORE",$realname); 

//同“iconv”效果一样 

//$realname = mb_convert_encoding($realname, "GB2312", "auto"); 
if(file_exists($realname)) {     

    // 若不进行GB2312转码,永远都进不了这里 

} 

else {     

    echo '文件不存在 ...'; 

}

 

iconv函数用法详解介绍: http://www.php100.com/html/php/hanshu/2013/0905/4691.html

mb_convert_encoding方法说明: http://www.yiibai.com/manual/php/function.mb-convert-encoding.html

mb_detect_encoding检查字符串编码: http://php.net/manual/zh/function.mb-detect-encoding.php

 

你可能感兴趣的:(php中文文件is_file检验失败(编码问题))