PHP图片上传代码无法正常工作

时间:2016-06-04 09:41:09

标签: php file-upload image-uploading

我有一个不上传图片的php图片上传代码。

PHP

 if(counter % 3 == 0) {
     //Print out the first person's number
     printf("My number is %d\n", a::getNumber();
 } else if (counter % 3 == 1) {
     //Print out the second person's number
     printf("My number is %d\n", b::getNumber();
 } else {
     //Print out the third person's number
     printf("My number is %d\n", c::getNumber();
 }

HTML

if (isset($_FILES['file']) && $_FILES['file']['error']==0) {
      $files = $_FILES['file'];
     echo $tmp_name = $files['tmp_name'];
     $moved=move_uploaded_file($tmp_name,"../a.jpg");
     if($moved){        
     echo'Done!';
     }
}else{
   echo 'Error uploading, code '.$_FILES['file']['error'];
}

这是我的代码的简化形式。在真实场景中,有多个上传按钮,但一次只能使用一个按钮。

问题是它显示错误<form method="post" enctype="multipart/form-data" action="samefile.php"> <input type="file" name="file"> <input type="file" name="file"> <input type="submit" value="submit"> </form>
请帮忙。
谢谢

1 个答案:

答案 0 :(得分:1)

尝试使用此代码,这将有助于您上传需要使用的name="file[]"而不是name="file"的多个文件,这将提交数组中的所有文件,您可以使用for循环中继每个文件php文件..

<form method="post" enctype="multipart/form-data" action="samefile.php">
      <input type="file" name="file[]" >
      <input type="file" name="file[]" >
      <input type="submit" value="submit">
</form>

在php文件中

<?php 
if (isset($_FILES['file']))
{
    $total = count($_FILES['file']['name']);
    for($i=0; $i < $total; $i++)// Loop for each file
    { 
      $tmp_name = $_FILES['file']['tmp_name'][$i];
      if ($tmp_name != "")
      {
        $targetFile = "../" . $_FILES['file']['name'][$i];
        //Upload the file 
        if(move_uploaded_file($tmp_name,$targetFile)) 
        {
          echo'Done!';
        }
      }
    }
}   

&GT;