最近有個項目涉及到使用 php 讀取文件目錄,讀取文件目錄這個本身沒什麼問題,但讀取的時候遇到中文目錄竟然發生亂碼了,一時不知道怎麼辦了,研究了一番,得出幾種解決辦法:
<?php
//要讀取的目錄
$folder="D:/www";
//打開目錄
$fp=opendir($folder);
//閱讀目錄
while(false!=$file=readdir($fp)){
//列出所有文件並去掉'.'和'..'
if($file!='.' &&$file!='..'){
//$file="$folder/$file";
$file="$file";
//賦值給數組
$arr_file[]=$file;
}
}
//輸出結果
if(is_array($arr_file)){
while(list($key,$value)=each($arr_file)){
echo "$key=>$value<br>";
}
}
//關閉目錄
closedir($fp);
?>
(1)在輸出前做一個轉換,加上如下代碼:
$value = iconv("UTF-8","gb2312",$value); //或者 iconv("gb2312","UTF-8",$value);
(2)所有文件編碼都統一為 UTF-8 或者 gb2312
*