首页 php file_exists() 判断文件是否存在 不支持中文的解决办法

php file_exists() 判断文件是否存在 不支持中文的解决办法

子恒 2015-3-21 0 2792

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不存在该问题)

打赏作者
打赏作者 打赏作者
免责声明:本文仅代表作者个人观点,与本网站无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
作者: 子恒 本文最后编辑于2015-3-21 03:04:01
子恒

I don't have any end of the Year Award

作者的微博

发表评论