PHP中file_exists()函数不支持中文文件名解决办法
生活随笔
收集整理的這篇文章主要介紹了
PHP中file_exists()函数不支持中文文件名解决办法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
PHP中通常使用file_exists()判斷某個文件或者文件夾是否存在,如果文件或文件夾存在則返回true,否則返回false。今天寫程序時發現,在網頁使用UTF8編碼的情況下,該函數對于中文文件名或者文件夾名不能返回正確值,始終返回false。猜測可能是編碼不同導致PHP不能正確判斷。
下面是不能夠返回正確值的代碼,無論文件是否在都返回不在:
1 <?php; 2 $file="/attachment/21/0/材料.rar"; 3 $newfile = dirname(__FILE__).$file; 4 5 echo file_exists($newfile); 6 ?>?
增加了一句將UTF8編碼轉換為GB2312編碼的語句,改進后可以了正確判斷了:
1 <?php 2 $file="/attachment/21/0/材料.rar"; 3 $newfile = dirname(__FILE__).$file; 4 5 $file=iconv('UTF-8','GB2312',$file); 6 7 echo file_exists($newfile); 8 ?>?
轉載于:https://www.cnblogs.com/keheng/articles/2495983.html
總結
以上是生活随笔為你收集整理的PHP中file_exists()函数不支持中文文件名解决办法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Swift云存储特性研究
- 下一篇: 你方唱罢我登场,“全宇宙仅此一回”的小米