2012-09-29 40 views
0

我試圖做一個文件上傳系統,無論何時上傳文件,文件進入上傳文件夾設置像這樣上傳/ 2012/09/{randomhash} /。如何使動態更改上傳路徑

爲此,我嘗試了下面的代碼。

$hash = RandomString(20); 
$upload_path = '../../uploads/'.$year.'/'.$month.'/'.$hash.'/'; 
if (!is_dir($upload_path)) 
{ 
    mkdir($upload_path, 0777); 
} 

由於某種原因,它不工作,我不知道爲什麼。

回答

0

mkdir()有第三個參數叫做$recursive。將其設置爲true

+0

感謝這個作品 – leanswag

0

因爲apache(用戶在創建目錄時嘗試使用mkdir()函數)對於您試圖更改的目錄沒有正確的權限?這是我的猜測,沒有你的更多信息。

+0

我不知道你的意思,但我已經創建了上傳文件夾,已經獲得了777 – leanswag

+0

的許可,我的意思是你需要更改目錄中你試圖創建一個新目錄的權限。如果你(或者用戶apache,這是運行Web服務器的用戶名,假設你在Linux上使用apache)沒有對../../upload/2012/09/29/目錄樹的讀/寫權限,那麼你不能在裏面創建一個新的目錄。 – L0j1k