关于file_exists判断中文文件或目录的问题

今天看到了高老师的视频中关于文件的这块发现一个问题 以下是高老师写的代码
复制代码
  1. function getFilePro($fileName){
  2.   if(!file_exists($fileName)){
  3.    echo "文件或目录{$fileName}不存在";
  4.    return;
  5.   }else{
  6.    echo "文件的类型".filetype($fileName)."<br />";
  7.   }
  8.   if(is_file($fileName)){
  9.    echo '这是一个文件'.'<br />';
  10.    echo '这个文件大小为:'.getFileSize(filesize($fileName)).'<br />';
  11.   
  12.   }
  13.   if(is_writable($fileName)){
  14.    echo '这个文件可读'.'<br />';
  15.   }
  16.   if(is_readable($fileName)){
  17.    echo '这个文件可写'.'<br />';
  18.   }
  19.   if(is_executable($fileName)){
  20.    echo '这个文件可执行'.'<br />';
  21.   }
  22.   if(is_dir($fileName)){
  23.    echo '这是一个目录'.'<br />';
  24.   }
  25.   echo "文件的创建时间".date('Y-m-d H:i:s',filectime($fileName))."<br />";
  26.   echo "文件的修改时间".date('Y-m-d H:i:s',filemtime($fileName))."<br />";
  27.   echo "文件的最后访问时间".date('Y-m-d H:i:s',fileatime($fileName))."<br />";
  28.   getFilePro("cache.txt");
  29.   getFilePro("test");


如传入是中文文件名或目录 就会总说文件或目录不存在。后来上网查原因说是用php函数对中文名编码的问题,得用 iconv('UTF-8','GB2312',$fileName)转换编码 .需要在以上所有出现$fileName都加上此函数,经过测试修改后无论中英文都可以了。

作者: 小zzz   发布时间: 2011-05-04

我也正好遇到这个问题,谢谢楼主帮我解决了这个问题!

作者: siyue   发布时间: 2011-06-30