我不知道這個函數有什麼問題。我正嘗試在「媒體/雜誌」目錄內創建一個目錄$date/$recid
。此功能有時會創建它,但有時會顯示警告
Warning: mkdir() [function.mkdir]: No such file or directory in C:\wamp\www\locallink\cpl_locallink\magazine.php on line 77
Call Stack
我在Windows 7上使用它作爲我的服務器的wamp。
我不知道這個函數有什麼問題。我正嘗試在「媒體/雜誌」目錄內創建一個目錄$date/$recid
。此功能有時會創建它,但有時會顯示警告
Warning: mkdir() [function.mkdir]: No such file or directory in C:\wamp\www\locallink\cpl_locallink\magazine.php on line 77
Call Stack
我在Windows 7上使用它作爲我的服務器的wamp。
試試這個:
mkdir('../media/magazines/'.$id, 0755, True)
主要在這裏點是新的說法:第三個參數True
,即表示mkdir
,它必須遞歸創建目錄。當遞歸關閉時,所有父目錄必須已經存在(在我們的例子中爲../media/
);但是當遞歸開啓時,它們將自動創建。
當路徑 包含正斜槓時,'mkdir'函數在Windows上無法正常運行。沒有創建正斜槓 的路徑部分。
mkdir('c:/a/b/c/d', 0775, true);
您收到錯誤消息: 警告命令mkdir()[function.mkdir]:沒有這樣的文件或目錄
請使用反斜槓Windows下或使用常量DIRECTORY_SEPARATOR。
mkdir('c:\a\b\c\d', 0775, true);
mkdir('c:'.DIRECTORY_SEPARATOR.'a'.
DIRECTORY_SEPARATOR.'b'.
DIRECTORY_SEPARATOR.'c'.
DIRECTORY_SEPARATOR.'d', 0775, true);
但希望用'implode()'。 –
您必須逐個創建目錄。 $日期/ $ recid是2
mkdir($date);
mkdir($date."/".$recid);
你不能在同一命令中創建兩個目錄,你必須做這兩個步驟:
if (!file_exists($date)) {
mkdir($date);
}
if (!file_exists($date . '/' . $recid)) {
mkdir($date . '/' . $recid);
}
編輯:
您可以使用遞歸參數:
mkdir($date . '/' . $recid, 0755, true);
請停止用「任何幫助裝飾」 ase「和其他填充物。這樣的[短語是多餘的](http://stuck.include-once.org/#help4)並且令人不安。 – mario
謝謝以後我會照顧這個@mario – baig772