:PHP在判斷文件是否存在,不存在就創建的時候,使用mkdir創建時候報錯“No such file or directory”,出錯代碼如下:
$path = 'upload/common/';//文件路徑 $new_file = $path.date('Ymd',time()).'/'; if(!file_exists($new_file)){ //檢查是否有該文件夾,如果沒有就創建,並給予最高權限 mkdir($new_file, 0777); }
:經過查詢手冊得知mkdir函數的具體信息如下:
mkdir() 函數創建目錄,若成功,則返回 true,否則返回 false。
語法:
mkdir(path,mode,recursive,context);
參數 描述
path 必需。規定要創建的目錄的名稱。
mode 必需。規定權限。默認是 0777。
recursive 必需。規定是否設置遞歸模式。
context 必需。規定文件句柄的環境。Context 是可修改流的行為的一套選項。
錯誤原因:如果通過mkdir方法創建的是多級目錄,應該設置第三個參數為true,也就是遞歸模式,否則就會報:No such file or directory錯誤。
改為如下代碼,成功執行:
$path = 'upload/common/';//文件路徑 $new_file = $path.date('Ymd',time()).'/'; if(!file_exists($new_file)){ //檢查是否有該文件夾,如果沒有就創建,並給予最高權限 mkdir($new_file, 0777, true); }