猿问

一键输入多个图像上传PHP表单

我已经尝试进行这项工作了一段时间了。但是我似乎无法使其正常工作。我想只使用一个输入就拥有多张图片上传表格。


这是我的upload.php


<?php

include("../include/session.php");


session_start();

$allowedExts = array("jpeg", "jpg", "png", "gif");

$extension = end(explode(".", $_FILES["upload"]["name"]));


if(isset($_FILES['upload']['tmp_name']))

{

    for($i=0; $i < count($_FILES['upload']['tmp_name']);$i++)

    {


        if (($_FILES["upload"]["name"] < 90000000000000000)

            && in_array($extension, $allowedExts)) {

                if ($_FILES["upload"]["error"] > 0)

                {

                    header('location: '.$error); die;

                }

                else

                {


                    if (file_exists("../icons/".$_SESSION["username"] ."/" . $_FILES["upload"]["name"]))

                    {

                    echo "error";

                    }

                    else

                    {

                        if(!is_dir("../icons/". $_SESSION["username"] ."/")) {

                            mkdir("../icons/". $_SESSION["username"] ."/");

                        }


                        $temp = explode(".",$_FILES["upload"]["name"]);

                        $file = rand(1,999999999999) . '.' .end($temp);


                        move_uploaded_file($_FILES["upload"]["tmp_name"], "../icons/". $_SESSION["username"] ."/". $file);  

                    }

                }

            }

        } else {

            echo "yep error";

        }

    }

?>

如果我把线


if(isset($_FILES['upload']['tmp_name']))

{

    for($i=0; $i < count($_FILES['upload']['tmp_name']);$i++)

    {

使用相应的结束括号,它似乎可以正常工作。图像完美上传。但事实是,它只允许我上传一个。


请我真的需要您的专业知识。谢谢


翻翻过去那场雪
浏览 550回答 3
3回答

慕标琳琳

extract($_POST);$error=array();$extension=array("jpeg","jpg","png","gif");foreach($_FILES["files"]["tmp_name"] as $key=>$tmp_name) {&nbsp; &nbsp; $file_name=$_FILES["files"]["name"][$key];&nbsp; &nbsp; $file_tmp=$_FILES["files"]["tmp_name"][$key];&nbsp; &nbsp; $ext=pathinfo($file_name,PATHINFO_EXTENSION);&nbsp; &nbsp; if(in_array($ext,$extension)) {&nbsp; &nbsp; &nbsp; &nbsp; if(!file_exists("photo_gallery/".$txtGalleryName."/".$file_name)) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; move_uploaded_file($file_tmp=$_FILES["files"]["tmp_name"][$key],"photo_gallery/".$txtGalleryName."/".$file_name);&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; else {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $filename=basename($file_name,$ext);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $newFileName=$filename.time().".".$ext;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; move_uploaded_file($file_tmp=$_FILES["files"]["tmp_name"][$key],"photo_gallery/".$txtGalleryName."/".$newFileName);&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }&nbsp; &nbsp; else {&nbsp; &nbsp; &nbsp; &nbsp; array_push($error,"$file_name, ");&nbsp; &nbsp; }}并且您必须检查您的HTML代码<form action="create_photo_gallery.php" method="post" enctype="multipart/form-data">&nbsp; &nbsp; <table width="100%">&nbsp; &nbsp; &nbsp; &nbsp; <tr>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <td>Select Photo (one or multiple):</td>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <td><input type="file" name="files[]" multiple/></td>&nbsp; &nbsp; &nbsp; &nbsp; </tr>&nbsp; &nbsp; &nbsp; &nbsp; <tr>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <td colspan="2" align="center">Note: Supported image format: .jpeg, .jpg, .png, .gif</td>&nbsp; &nbsp; &nbsp; &nbsp; </tr>&nbsp; &nbsp; &nbsp; &nbsp; <tr>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <td colspan="2" align="center"><input type="submit" value="Create Gallery" id="selectedButton"/></td>&nbsp; &nbsp; &nbsp; &nbsp; </tr>&nbsp; &nbsp; </table></form>
随时随地看视频慕课网APP
我要回答