2011-03-17 363 views
26

我需要知道是否有任何方式來創建新文件夾,如果路徑不存在。當我嘗試fopen()路徑時,它說NO such File or Directory exists我試圖用'w'和'w +'打開文件,但它無法創建新文件夾。有沒有辦法在不使用mkdir()的情況下實現它。因爲我需要每次從mkdir()路徑中單獨提取目錄名稱。任何幫助表示讚賞。謝謝...PHP:fopen來創建文件夾

回答

65

fopen無法創建目錄。

你需要使用類似:

$filename = '/path/to/some/file.txt'; 
$dirname = dirname($filename); 
if (!is_dir($dirname)) 
{ 
    mkdir($dirname, 0755, true); 
} 
+0

真棒......非常感謝......它的工作完美無缺...... – Vivek 2011-03-17 10:57:27

3

你不能使用fopen來創建文件夾。
要創建你必須使用的mkdir

你必須重複每次操作的文件夾中,有一個名爲「用戶定義函數」語言的功能。最不爲人知的PHP功能,就像人們可以說的那樣通過計算器來判斷答案。

+3

>你不得不重複每次操作,有一個叫語言功能「的用戶定義的功能「。 PHP的最不爲人知的特徵,正如人們可以說,通過計算器來判斷答案:LOL – nbrogi 2013-05-12 14:04:23

6

的fopen不創建或打開文件夾,只有文件。如果不存在,你應該首先檢查is_dirmkdir有一個遞歸創建選項。

if (!is_dir($myDir)) { 
    mkdir($myDir, 0777, true); // true for recursive create 
} 

如果你正在尋找一種方式來打開一個目錄,並閱讀它的內容,你應該看看SPL的DirectoryIterator

+0

thx for your reply ... – Vivek 2011-03-17 10:54:24