PHP中通常使用file_exists()函数判断某个文件或者文件夹是否存在,如果文件或文件夹存在则返回true,否则返回false。
如果网站使用的编码为UTF-8的话,该函数对于中文文件名或者文件夹名只返回false。
<?php
$file = "/public/upload/20150321/演示.txt";
echo file_exists($file);
?>
上面是不能够返回正确指的代码。无论文件是否存在。
增加一句将UTF8编码转换为GB2312编码的语句,改进后可以进行正确的判断。
<?php
$file = "/public/upload/20150321/演示.txt";
$file = iconv('UTF-8','GB2312',$file);
echo file_exists($file);
?>
返回 1
(经测试,此问题仅在windows的服务器上存在,Linux不存在该问题)
评论交流 (0)
暂无评论,来坐第一个沙发吧~