php中文目錄
必須有編碼問題!先把utf-8轉為gbk
$url=iconv('utf-8','gbk',$url);
你可以用is_file檢測一下轉換前後哪個路徑才是有文件存在
2. php scandir() 中文文件或目錄出現亂碼怎樣解決
<?php
$f = scandir('./');
foreach($f as $file) {
echo iconv('gbk' , 'utf-8' , $file ) . '<br/>';
}
?>
轉換時 gbk 轉 utf8 就可以,如果你的網頁編碼是 gbk的話 沒必要轉 也不會出現亂碼。
3. 在php utf8頁面編碼下mkdir 中文目錄亂碼
utf8是西文編碼,你用中文命名文件夾當然為亂碼了
把目錄改成英文的吧,這樣網路可以識別,也不會出錯,當然也是最規范的
4. php創建目錄的方法
mkdir
(PHP 4, PHP 5, PHP 7)
mkdir — 新建目錄
1.說明
mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = FALSE [, resource $context ]]] ) : bool
嘗試新建一個由 pathname 指定的目錄。
2.參數
pathname
目錄的路徑。
mode
默認的 mode 是 0777,意味著最大可能的訪問權。有關 mode 的更多信息請閱讀 chmod() 頁面。
Note:
mode 在 Windows 下被忽略。
注意也許想用八進制數指定模式,也就是說該數應以零打頭。模式也會被當前的 umask 修改,可以用 umask() 來改變。
recursive
允許遞歸創建由 pathname 所指定的多級嵌套目錄。
context
Note: 在 PHP 5.0.0 中增加了對上下文(Context)的支持。有關上下文(Context)的說明參見 Streams。
3.返回值
成功時返回 TRUE, 或者在失敗時返回 FALSE。
4.範例如下圖
5.錯誤/異常
目錄已存在時,產生 E_WARNING錯誤。
如果因為許可權問題無法創建目錄,導致 E_WARNING錯誤。
5. php如何支持中文目錄和文件名
絕對支持的,但是要考慮當前操作系統的編碼。
如果是Linux系列,一般UTF-8編碼的。
如果是Windows,應該是ANSI。
如果你的PHP代碼是UTF-8編碼的,在Windows下,需要對含有中文的文件、目錄字元串轉換一下編碼。
例如「D:/我的文檔」這個目錄是存在的,但你使用is_dir()判斷的時候得到FALSE值。
$dir = 'D:/我的文檔';
$dir = iconv( 'UTF-8', 'GB18030', $dir );
轉換一下編碼就行了。
6. php的mkdir怎麼才可以在windows下創建中文目錄 - PHP進階討論
這里有兩種情況,通常我們的PHP腳本文件要麼是Unicode(utf8)或者是ANSI(gbk)。gbk兼容gb2312。
如果是Unicode編碼(utf8),代碼里的中文和系統是兩種不同的編碼,與系統打交道時,如創建中文名稱的文件、文件夾等,需要轉換編碼。
如果是ANSI編碼(gbk、gb2312),代碼里的中文和系統是系統的編碼,不需要轉換編碼。
//
1、php腳本文件是Unicode編碼,系統是中文系統
$dirname="temp/中文目錄";
//
通過iconv進行編碼轉換即可
if(mkdir(iconv('utf-8',
'gbk',
$dirname)))
echo
"創建成功";
else
echo
"創建失敗";
//
2、php腳本文件是ANSI編碼,系統是中文系統
$dirname="temp/中文目錄";
//
不需要轉換編碼
if(mkdir($dirname))
echo
"創建成功";
else
echo
"創建失敗";請選擇合適的代碼片段進行測試,如果你是utf8的話,就選擇代碼里的第一部分。
7. PHP readdir 怎麼讀取中文目錄名和文件名
<?php
$di = 'E:\中文';
$di = iconv("UTF-8","gb2312",$di);
$handle = opendir($di);
$file = readdir($handle);
echo $file,"<br/>";
$file = readdir($handle);
echo $file,"<br/>";
$file = readdir($handle);
echo $file,"<br/>";
不過盡量少用甚至不用中文目錄和中文文件名!!會引起很多不必要的麻煩!
8. 怎麼用PHP創建目錄和子目錄
<?php
header("Content-type:text/html;charset=utf-8");
//設置要創建的目錄(可設置多級)
$path="/";
//首先判斷目錄存在否
if(is_dir($path)){
echo"抱歉,目錄".$path."已存在!";
}else{
//第3個參數「true」意思是能創建多級目錄,iconv防止中文目錄亂碼
$res=mkdir(iconv("UTF-8","GBK",$path),0777,true);
if($res){
echo"$path創建成功";
}else{
echo"$path創建失敗";
}
}
?>
9. 怎麼讓php文件可以使用中文文件名或者中文路徑
注意編碼,一般情況下在windows下才可以直接使用中文,不過還是建議採用了html編碼,這樣不管是什麼名字,就都可以顯示了。
10. 怎麼讓php文件可以使用中文文件名或者中文路徑
首先建議使用文文件名
因文會被
URL編碼發送伺服器端時候雖會解碼和編碼致解出來了
簡單說URL文
常見瀏覽器默認會UTF-8編碼進行編碼發送伺服器端而文
windows環境伺服器解碼URL時候卻用gb2312編碼進行解碼樣導致了沒法得地址欄里輸入文原文
所會提示找文件名了
定要用文
解決辦法僅限本地瀏覽解決辦法
瀏覽器打開internet選項菜單選擇高級找
發送utf-8
URL把前面鉤去掉確認再重啟瀏覽器樣地址欄里文會默認gb2312編碼
進行發送樣伺服器端能正確找該文文件名文件了