2009-12-15 65 views
0

得到這個工作文件上傳PHP的問題

$i = 0;  
    foreach ($_FILES["image"]["error"] as $key => $error) { 
     if ($error == UPLOAD_ERR_OK) { 
      $tmp_name = $_FILES["image"]["tmp_name"][$key]; 
      $image_name = $_FILES["image"]["name"][$key]; 
      $image.$i = move_uploaded_file($tmp_name, "uploads/$image_name"); 
      $i ++; 
     } 
    } 

我不能似乎得到存入變量$#像任何想法的目錄?

回答

1

我得到這個通過創建一個數組,此數組中存儲的值

2

爲什麼oyu混合使用$ _FILES和$ HTTP_POST_FILES?後者的用法表明您正在使用舊的過時的教程。

您還沒有檢查多個文件是否已被成功轉移,並且不鼓勵使用copy()。

請參閱move_uploaded_files()其中有一個關於處理多個上傳的示例。

+0

由於在最後的工作,我有此代碼現在上傳作品,但無法在一些變量中存儲目標,有什麼想法? $ i = 0; \t \t \t 的foreach \t($ _FILES [ 「圖像」] [ 「錯誤」]作爲$鍵=> $錯誤){ \t \t \t如果($錯誤== UPLOAD_ERR_OK){ \t \t \t \t $ tmp_name的值= $ _FILES [ 「圖像」] [ 「tmp_name的值」] [$鍵]。 \t \t \t \t $ image_name = $ _FILES [「image」] [「name」] [$ key]; \t \t \t \t $ image。$ i = move_uploaded_file($ tmp_name,「uploads/$ image_name」); \t \t \t \t $ i ++; \t \t \t} \t \t} – user195257 2009-12-15 18:13:24

0

它不應該是

$_FILES['image'][$i]['name'] 

不是

$_FILES['image']['name'][$i] 
+1

不,文件數組有一些奇怪的行爲,所以它是正確的。 – Hanse 2009-12-15 11:55:25

+0

Doh,我覺得那很容易! ;)喜歡PHP的內部一致性... – Mathew 2009-12-15 12:21:48