2009-12-15 64 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