有些文件不是使用输入文件标签上传的

时间:2012-11-11 12:13:20

标签: php html

我无法使用html控件上传文件。

假设我有两个图像文件 image1.jpg和image2.jpg

image1上传 image2没有

image1的一切都很好,为image2调用相同的代码,但不上传image2。 它没有给出任何错误。

没有文件大小和/或扩展名等上传限制。 我还改变了php.ini,改变了maxpostsize,uploadsize和内存限制。 请帮忙,我一直在搜索这个东西三天但从未得到答复。

if(isset($_POST['submitBtn']))
{
$title=$_POST['titleTxt'];
mysql_query("INSERT into tblsliderphotos (title) values('$title')") or 
die(mysql_error());

    if($_FILES['file']['name']!="")
    {
    //echo $_FILES['file']['name'];
    $tblData=mysql_query("Select MAX(photoid) as id from tblsliderphotos");
    $row=mysql_fetch_array($tblData);

    $id=$row['id'];

    $path="photos/SliderPhotos/". $id.".".$image_ext;
    echo $path;
    move_uploaded_file($_FILES["file"]["tmp_name"],"../../".$path);
    mysql_query("Update tblsliderphotos SET path='".$path."' where 
photoid=".$id);
    }
}

1 个答案:

答案 0 :(得分:0)

我认为问题不在于php env。但是你的上传文件处理。

让我们假设你的html代码如下所示

<form action="someaction" method="post" enctype="multipart/form-data">
<input type="text" name="title" />
<input type="file" name="file" />
<input type="file" name="file2" />
<input type="submit" name="submitBtn" value="Submit">
</form>

现在,您必须注意有两个类型为“file”的输入,第一个具有名称值“file”,第二个具有名称值“file2”。

当你想要处理两者时,你必须单独处理每个文件。如下:

$_FILES['file'] // this will give you information about the first input "file"

$_FILES['file2'] // this will give you information about the second input "file2"

现在,当您想要上传这两个文件时,您必须为每个文件执行此操作。如下:

 // handling first file
if($_FILES['file']){
   echo $_FILES['file']['name'];
   move_uploaded_file($_FILES["file"]["tmp_name"],"../../".$path);
}

// handling second file
if($_FILES['file2']){
   echo $_FILES['file2']['name'];
   move_uploaded_file($_FILES["file2"]["tmp_name"],"../../".$path);
}

这会将两个文件上传到$ path

但是你可以通过循环$ _FILES变量来做同样的事情,如下所示:

 foreach($_FILES as $key => $value){
     echo $key."\r\n";
     echo $value['name'];
     move_uploaded_file($value["tmp_name"],"../../".$path);
 }

我希望这个帮助

相关问题