PHP

时间:2015-07-15 10:13:00

标签: php mysql file-upload

我想上传在不同输入字段中选择的多个文件。我的表格看起来像

<form action="blog_write_validate.php" method="post" id="form"  enctype="multipart/form-data">
   <label>Image if any</label><input type="file" name="title[0][img]"  id="file1"><br>
   <label>Image if any</label><input type="file" name="title[1][img]" id="file2"><br>
   <label>Image if any</label><input type="file" name="title[2][img]" id="file3"><br>
</form>

blog_write_validate.php页面是

if(isset($_POST['subm']))
{
extract($_POST);
$i = 3; $j=0;
foreach($_POST['title'] as $diam )
{
    $imgname = $diam['img'];

        $allowedExts = array("gif", "jpeg", "jpg", "png","GIF","JPEG","JPG","PNG");
        $temp = explode(".", $_FILES["file"]["name"]);
        $extension = end($temp);

        if ((($_FILES["file"]["type"] == "image/gif")
        || ($_FILES["file"]["type"] == "image/jpeg")
        || ($_FILES["file"]["type"] == "image/jpg")
        || ($_FILES["file"]["type"] == "image/pjpeg")
        || ($_FILES["file"]["type"] == "image/x-png")
        || ($_FILES["file"]["type"] == "image/png"))
        && ($_FILES["file"]["size"] < 100000000)
        && in_array($extension, $allowedExts))
        {
            echo "in upload ";
            $newfilename = time() . '.' . end($temp);
            move_uploaded_file($_FILES["file"]["tmp_name"][0],"blog/".$newfilename."");
            echo "File uploaded <br>";
        }
        else
        {
            print "<br> ".$_FILES["file"]["type"]."";print "<br>";
            print "<h2>Invalid image. File should be less than 2MB </h2>";
            header("Location: blog_write.php" );exit;
        } 
     }

我想知道如何从数组中获取这些文件名类型。我试过像$ imagename = $ diam [&#39; img&#39;],$ imagename = $ _FILES [&#34; file&#34;] [&#34; name&#34;] [&#39; IMG&#39;]; plesase告诉我如何获取这些文件名,以便我可以正确上传

1 个答案:

答案 0 :(得分:0)

你快到了。更换 foreach($_POST['title'] as $diam )foreach($_FILES['title'] as $diam )

此外,您还需要更新foreach循环下的逻辑以获得所需的结果。

发布HTML表单时,任何元素的名称都通过$ _POST super global传递。 $ _FILES的情况也是如此。 您有三种文件输入类型,$ _FILES填充了这些输入的名称,例如$ _FILES [&#34;标题&#34;]