2011-06-08 76 views
1

快速問題我試圖將上傳的文件移動到根目錄以外的目錄中,並將其保存到/ opt/ffencoderd/data/media中,並且我得到的文件不存在。如果我在同一個文件中使用exec()在/ usr/bin/clamscan中執行clamscan,它可以工作。任何人都知道我在做什麼錯了?move_uploaded_file文件不存在?

move_uploaded_file($_FILES['Filedata']['tmp_name'], '/opt/ffencoderd/data/media'.'/'.$id2) 
or die ("Couldn't upload ".$_FILES['Filedata']['name']."\n"); 

警告: move_uploaded_file(優化/ ffencoderd /數據/媒體/ fa3eeb1d502ec3cb7221cac889a8922a) [function.move上傳文件]:未能 打開流:在 沒有這樣的文件或目錄 /選擇/ LAMPP/htdocs中/ XAMPP /站點/進度/ upload.php的 上線99

警告:move_uploaded_file()以 [function.move上傳文件]:無法 移動 '/ TMP/phpRh2VMZ' 到 '選擇/ ffencoderd /數據/媒體/ fa3eeb1d502ec3cb7221cac889a8922a' 在 /opt/lampp/htdocs/xampp/site/progressbar/upload.php 上線99

+1

沒有人知道,因爲你沒有提供任何細節。 exec()與'move_uploaded_file()'有關嗎? – zerkms 2011-06-08 04:51:09

+0

它位於同一個文件中,可以使用/目錄訪問根目錄之外的目錄。這就是爲什麼我認爲這是相關的。兩個文件都存在,使用move_uploaded_file並沒有說。 – Scarface 2011-06-08 04:51:38

+1

:-S我認爲有些代碼會有所幫助。 – zerkms 2011-06-08 04:53:52

回答

1

測試該目錄是否存在,以及你的PHP腳本有權寫入:

echo is_writable('/opt/ffencoderd/data/media'); 

如果它返回false,可能是該目錄不存在。如果您知道該目錄存在,那麼您將需要修改該目錄的權限。如果它具有正確的權限,那麼您需要檢查您的safe_modeopen_basedir設置。

+1

如果他沒有權限或違反open_basedir限制 - 他會得到另一個錯誤。 – zerkms 2011-06-08 05:08:27

+1

@zerkms:是的。我列出了它可能不存在的事實,但我在發佈確切的錯誤消息之前添加了其他信息。 – webbiedave 2011-06-08 05:10:59

+0

感謝您的幫助球員+1所有幫助者的意見,該目錄只是不存在大聲笑和需要的權限改變...我從這個經驗教訓,雖然從你們解決這個問題。 – Scarface 2011-06-08 17:55:22

相關問題