2015-08-14 75 views
1

我一直向前看這個,找不到解決方案。我正在嘗試上傳的文件沒有移動。我使用WAMP和我的根文件夾是C:\ wamp \ wwwPHP試圖用move_uploaded_file移動文件

我已檢查目錄是否存在於PHP中,並放入一個腳本,如果它不存在它應該被創建,這是可行的,但仍然沒有移動文件。我究竟做錯了什麼?

的形式爲:

<form enctype="multipart/form-data" action="upload.php" method="POST"> 
<input type="hidden" /> 
Choose a file to upload: <input name="uploadedfile" type="file" /><br /> 
<input type="submit" value="Upload File" /> 
</form> 

upload.php的

$target_path = "uploads/" ; 
if(!file_exists($target_path)) { 
    mkdir($target_path, 0755, true); 
    echo "The directory was created"; 
} 
$tmp_name = $_FILES['file']['tmp_name']; 
$target_path = $target_path . basename($_FILES['uploadedfile']['name']); 
echo $target_path; 

if(move_uploaded_file($tmp_name, $target_path)) { 
    echo "The file ". basename($_FILES['uploadedfile']['name']). 
    " has been uploaded"; 
} else{ 
    echo "There was an error uploading the file, please try again!"; 
} 
+1

你只是假設上傳成功。你需要在$ _FILES ** FIRST **中檢查'['error']'',然後執行任何其他操作。 –

+1

你也可以用你的HTML代碼嗎?並且是'['error']'可以提供更多信息 – Yogesh

+0

謝謝。我在上面的問題中添加了表單,然後使用了print_r($ _ FILES);檢查變量,但沒有錯誤:Array([uploadedfile] => Array([name] => ts.txt [type] => text/plain [tmp_name] => C:\ wamp \ tmp \ php48A8.tmp [error] => 0 [size] => 803390)) – Wilest

回答

0

嘗試改變,

$tmp_name = $_FILES['file']['tmp_name']; 

$tmp_name = $_FILES['uploadedfile']['tmp_name']; 
+0

謝謝,現在我覺得自己像個白癡!我一直在俯視着整個時間! – Wilest