错误! on无法在PHP

时间:2015-05-07 09:21:30

标签: php html input upload

我想上传两个具有不同输入文件选项的不同文件。我想我正在使用标准方法上传文件并复制到不同的文件夹。文件上传后,应该在/temp文件夹中,可以将文件复制到不同的文件夹。使用以下代码,我只能在temp中查找一个文件,并且它已成功复制到所需的foler。能够复制的文件是第二个上传文件。但是,没有为第一个上载文件创建临时文件。 PHP没有给出任何错误。任何消化?我无法确定以下代码中的问题:

 <form>
Select File:
<input type="file" name="file[]" id= "file[]" maxlength="90" />         
Select  file2: 
<input type="file" name="file[]"  id= "file[]" maxlength="90"/>     
<input  type="submit" name = "submit"  value="Submit"/>

 <?php

if(isset($_FILES["file"])) {
print_r( $_FILES );
$target_dir = "upload/";
echo '<br>';
$no_files = count($_FILES["file"]['name']);


for ($i = 0; $i < $no_files; $i++) {
    if ($_FILES["file"]["error"][$i] > 0) {
            echo '<br>'. $i;
        echo "Error: " . $_FILES["file"]["name"][$i] . "<br>";

    }else {
        $temp = explode(".", $_FILES["file"]["name"][$i]);
        $extension = end($temp);
             move_uploaded_file($_FILES["file"]["tmp_name"][$i], $target_dir . $_FILES["file"]["name"][$i]);
            echo "<br><font color='green'>".$_FILES["file"]["name"][$i] . " Uploaded Successfully.</font><br>";            
    }
}
}


?>
</form>

1 个答案:

答案 0 :(得分:1)

您的HTML表单似乎不对,并且您不使用数组表单名称。

来自PHP手册:

html客户端:

<form action="" method="post" enctype="multipart/form-data">
    <p>Pictures:
        <input type="file" name="pictures[]" />
        <input type="file" name="pictures[]" />
        <input type="file" name="pictures[]" />
        <input type="submit" value="Send" />
    </p>
</form>

在服务器端:

<?php
foreach ($_FILES["pictures"]["error"] as $key => $error) {
    if ($error == UPLOAD_ERR_OK) {
        $tmp_name = $_FILES["pictures"]["tmp_name"][$key];
        $name = $_FILES["pictures"]["name"][$key];
        move_uploaded_file($tmp_name, "data/$name");
    }
}

详情请见PHP.net