doudu22272099831 2011-11-25 03:03
浏览 17
已采纳

多个上传图片功能php?

Hi there I want to make a function for me to able upload a multiple image in one submission below are my code structure:

<form action="upload.php" method="post" enctype="multipart/form-data">
  <p>Image1 :<input name="image1" type="file" /></p>
  <p>Image2 :<input name="image2" type="file" /></p>
  <p>Image3 :<input name="image3" type="file" /></p>
  <input type="submit" value="Submit" />
</form>

include('configdb.php');

$uploadDir = 'upload/';

if(isset($_POST['submit']))
{
$fileName = $_FILES['image1']['name'];
$tmpName  = $_FILES['image1']['tmp_name'];
$fileSize = $_FILES['image1']['size'];
$fileType = $_FILES['image1']['type'];

$image1path = $uploadDir . $fileName;


$result = move_uploaded_file($tmpName, "$image1path");
if (!$result) {
echo "Error uploading";
exit;
}

if(!get_magic_quotes_gpc())
{
    $fileName = addslashes($fileName);
    $image1 = addslashes($image1path);
}



$sql="INSERT INTO picture (image1, image2, image3) VALUES ('$image1','$image2', $image3)";

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }

}

Basically my code above does one image upload, How can I make a function to be able upload 3 images.

  • 写回答

2条回答 默认 最新

  • doushishi6513 2011-11-25 03:27
    关注

    Here is the code to multiple upload image. You can upload more than 3 images.

    <form action="upload.php" method="post" enctype="multipart/form-data">
      <p>Image1 :<input name="image[]" type="file" /></p>
      <p>Image2 :<input name="image[]" type="file" /></p>
      <p>Image3 :<input name="image[]" type="file" /></p>
      <input type="submit" name="submit" value="Submit" />
    </form>
    
    <?php
    include('configdb.php');
    
    $uploadDir = 'upload/';
    
    if(isset($_POST['submit'])) {
    
        $image = array();
    
        foreach($_FILES['image']['name'] as $index => $name) {
    
            if($_FILES['image']['error'][$index] == 4) {
                continue;
            }
    
            if($_FILES['image']['error'][$index] == 0) {
    
                $fileName = $_FILES['image']['name'][$index];
                $tmpName  = $_FILES['image']['tmp_name'][$index];
                $fileSize = $_FILES['image']['size'][$index];
                $fileType = $_FILES['image']['type'][$index];
    
                if(($fileType == "image/gif"   ||
                    $fileType == "image/jpeg"  ||
                    $fileType == "image/pjpeg" ||
                    $fileType == "image/png"   ||
                    $fileType == "image/x-png") && 
                    $fileSize < 500000) {
    
                    $imagePath = $uploadDir . $fileName;
    
                    $result = @move_uploaded_file($tmpName, $imagePath);
                    if (!$result) {
                        echo "Error uploading";
                        exit;
                    }
                    $image[] = $imagePath;
                }
            }
        }
        // Save images to database
        $nbImage = count($image);
        if($nbImage) {
    
            $sql = "INSERT INTO picture (image1, image2, image3) VALUES (";
            for($i=0; $i<$nbImage; $i++) {
                if($i) $sql .= ",";
                $sql .= "\"".$image[$i]."\"";
            }
            $sql .= ")";
    
            @mysql_query($sql);
        }
    }
    
    ?>
    

    Note: you should test the type and the size of image before upload it because of the security.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 merge函数占用内存过大
  • ¥15 Revit2020下载问题
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
  • ¥15 单片机无法进入HAL_TIM_PWM_PulseFinishedCallback回调函数
  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.