2010-05-10 96 views
1

任何想法爲什麼這不起作用?我以前用過很多次。 我所說的文件夾「上傳」在同一目錄PHP上傳問題

$target_path = "uploads/"; 
$target_path = $target_path . basename($_FILES['file']['name']); 

if(! move_uploaded_file($_FILES['file']['tmp_name'], $target_path)) { 
    $error = 1; 
} 

文件輸入形式似乎是工作,因爲當我回聲出$_POST['file'];文件名是正確的

感謝

+0

確切的問題是什麼?如果文件沒有被移動,你應該嘗試使用一個絕對的$ target_path(/.../.../uploads)而不是相對的(uploads /)。如果上傳與您正在使用的php文件位於相同目錄中,則可以使用 $ target_path = basedir(\ _ \ _ FILE \ _ \ _)。 '/上傳/'; 將工作 – MartinodF 2010-05-10 17:36:48

+0

move_uploaded_files是什麼引發錯誤,我試圖使用絕對目錄也沒有工作? – user195257 2010-05-10 17:43:26

+0

你也可以發佈你所得到的錯誤嗎? – 2010-05-10 17:46:01

回答

2

確保:

  • 您已在form
  • 文件夾uploads具有寫權限指定的編碼類型enctype="multipart/form-data",chmod命令755
  • 嘗試用$_SERVER['DOCUMENT_ROOT']
前綴路徑
+0

謝謝你,完全忘了enctype! – user195257 2010-05-10 17:48:23

+0

@ user195257:不客氣:) – Sarfraz 2010-05-10 17:50:44

0

有你檢查了上傳文件夾的權限?對於上傳,它通常需要777的權限(有時寫爲rwxrwxrwx),但是我會先嚐試755或775,因爲存在允許全局用戶完全寫訪問的安全隱患。

0

檢查您是否有寫入權限設置到您的上傳文件夾。