2012-01-08 130 views
0

我的代碼一直說這個文件夾不存在,雖然它應該由mkdir函數檢查..它創建文件夾,但不經過上傳過程..和在無法找到文件夾上顯示錯誤..算法是否正確?請幫助..您的建議將有所幫助! :)文件系統路徑創建錯誤(文件上傳)

這裏是代碼..

if(!(file_exists($target_path))) 
{ 
    if(!mkdir($target_path, 0777, TRUE)) 
    { 
     die ("could not create the folder on mkdir"); 
    } 
    //in this line the error occurs..printing what is below..// 
    die ("could not find folder on file exists"); 
} 
else 
{ 
    umask($target_path); 
    ... 
} 
+0

您能引用確切的錯誤消息以及它們出現在哪些行上嗎? – 2012-01-08 13:15:51

+0

@Pekka我已經.. ..請看看..謝謝..:D – SimonCode 2012-01-08 13:18:53

+0

感謝編輯@hakre hehe ..:D不知道怎麼說.. – SimonCode 2012-01-08 13:22:53

回答

1

file_exists()日常需要完整的文件路徑類似

/var/www/uploads/file1.c 

所以

file_exists($target_path); 

調用就可以了。但第二次調用創建目錄,即

mkdir() 

是需要一個目錄,而不是一個文件的路徑,即,它需要在/ var/WWW /上傳只是一部分。 因此您可以從路徑名中刪除基名並將其應用於mkdir函數()

1

嘗試..

如果(file_exists($ target_path)& & is_dir($ target_path)){//代碼的其餘部分。 .. }

的,而不是...

如果(!(file_exists($焦油get_path))){

}

希望這會爲你做些什麼......

...................... .........

一件事...... 我認爲這個問題是如果(!(file_exists($ target_path))){}聲明,

這應該是... if(!file_exists($ target_path)){}

+0

好吧,我會嘗試這個.. – SimonCode 2012-01-08 13:42:57

+0

它仍然沒有工作.. – SimonCode 2012-01-08 13:58:42

2

在文件上傳過程中,您的文件保存路徑move_uploaded_file() 功能可能會產生問題。我說的可能是因爲你給出的代碼對我來說不夠清楚。 move_uploaded_file()的第二個參數是第一個參數是文件名的目的地。請檢查$ target_path的值,它可能會解決您的問題。謝謝。

+0

感謝您的幫助! :d – SimonCode 2012-01-08 16:32:41