总的来说,file_exists()是常用的PHP来判断一个文件或文件夹是否存在,如果存在,返回真,否则返回假。但当函数是UTF8编码的网页上,文件名或中文文件夹名称不能返回正确的值总是返回false。经过测试,得到的解决方案,并分析其原因是PHP不能由不同的编码正确判断。

下面的代码是不能返回正确值的代码,不管该文件是否返回:


< PHP;
210;
为NewFile.txt = dirname(__file__文件);

回声file_exists($新文件);
>




经过测试,一个句子转换成utf8编码为GB2312编码的补充,它可以正确地判断。


< PHP
210;
为NewFile.txt = dirname(__file__文件);

文件大小= iconv('utf-8 ','gb2312文件);

回声file_exists($新文件);
>