2012-12-08 57 views
1

我想從網頁上做一個簡單的上傳應用程序:localhost/test.html。我得到這些錯誤:使用PHP將文件上傳到Web目錄

警告:move_uploaded_file(測試/藍hills.jpg):未能打開流:用C 沒有這樣的文件或目錄:\ WAMP \ WWW \ test.html的第11行

警告:move_uploaded_file()以:無法移動 'C:\瓦帕\ TMP \ php376.tmp' 在C '測試/藍色hills.jpg':\瓦帕\ WWW \ test.html on line 11

這裏是我的代碼

<html> 
    <form enctype="multipart/form-data" action="test.html" method="POST"> 
    Please choose a file: <input name="uploaded" type="file" /><br /> 
    <input type="submit" value="Upload" /> 
</form> 
<html> 

<?php 

$target = "test/"; 
$target = $target . basename($_FILES['uploaded']['name']) ; 
$ok=1; 

if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target)) { 
    echo "The file ". basename($_FILES['uploadedfile']['name']). " has been uploaded"; 
} else { 
    echo "Uploading Error."; 
} 

回答

2

也許目錄test不存在。將這些行添加到您的代碼中。

if (file_exists('test/')) echo 'Ok it wasn\'t that'; 
else echo 'Um, create a directory called test here: '.dirname(__FILE__); 
+0

謝謝我測試它,它表示沒有directory.but文件不應以相同的方式工作,即。 /test.html – user1557515

+0

從頭開始 - 我現在看到它必須是一個文件夾。謝謝你的幫助。 – user1557515

0

確保一個test/目錄在你的腳本所在的目錄存在,那麼你可以通過你的FTP客戶端使用

$out = dirname(__FILE__) . '/' . $_FILES['uploaded']['name']; 
move_uploaded_file($_FILES['uploaded']['tmp_name'], $out); 
+0

A downvote and no comment? – Raffaele

+1

從我身上看,沒有看到你的例子有什麼問題。 – Boris

+0

謝謝@bborisovs。這也有一個可預測的行爲,而不是依賴'getcwd()'... – Raffaele

0

更改目錄的權限(CHMOD)到777(讀,寫,執行所有者,團體,公衆)。

相關問題