程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP中file_exists函數不支持中文名的解決方法

PHP中file_exists函數不支持中文名的解決方法

編輯:關於PHP編程

     這篇文章主要介紹了PHP中file_exists函數不支持中文名的解決方法,很實用的技巧,需要的朋友可以參考下

         

    一般來說PHP中常使用file_exists()判斷某個文件或者文件夾是否存在,如果存在則返回true,否則返回false。但是該函數在網頁使用UTF8編碼的情況下,對於中文的文件名或者文件夾名不能返回正確值,始終返回false。經測試之後得出解決方法,分析造成這一情況的原因應該是編碼不同而導致的PHP不能正確判斷。

    下面這段代碼是不能夠返回正確值的代碼,無論文件是否在都返回不在:

    <?php;
    $file="/attachment/21/0/中文.rar";
    $newfile = dirname(__FILE__).$file;
    
    echo file_exists($newfile);
    ?>
    
    

    經過測試之後,增加了一句將UTF8編碼轉換為GB2312編碼的語句,就可以正確判斷了:

    <?php
    $file="/attachment/21/0/中文.rar";
    $newfile = dirname(__FILE__).$file;
    
    $file=iconv('UTF-8','GB2312',$file);
    
    echo file_exists($newfile);
    ?>
    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved