使用php和mysql上载多个图像并插入到表的单独字段中

问题描述 投票:0回答:2

我在PHP中不太好。我想分别上传两个图像,并将它们存储在表的两个不同字段中。我的HTML代码如下:

<form method="post" enctype="multipart/form-data" name="News Slider">
                <input name="img" type="file" required id="sortpicture"/>
                <input name="img2" type="file" required id="sortpicture"/>

                <button type="submit" name="submit" value="Save and Submit" class="btn btn-app">Save and Submit</button>
              <button type="reset" name="reset" value="Reset the Form" class="btn btn-app">Reset the Form</button>

              </form>

我的表结构就像ImageId | image_name | image_thumbnail

我写了下面的代码,但是它在image_name和image_thumbnail字段中仅存储img2(第二张选择的图像)图像。但是img(首先选择的图像)不在任何位置存储。

if(isset($_REQUEST['submit']))
     {

        if($_FILES['img']['name']!='')
    {
        $tmp_name = $_FILES["img"]["tmp_name"];
        $namefile = $_FILES["img"]["name"];
        $ext = end(explode(".", $namefile));
        $image_name=time().".".$ext;

        $fileUpload = move_uploaded_file($_FILES['img']['tmp_name'],"uploadnewsslider/".$image_name);


    }



    if($_FILES['img2']['name']!='')
    {
        $tmp_name = $_FILES["img2"]["tmp_name"];
        $namefile2 = $_FILES["img2"]["name"];
        $ext = end(explode(".", $namefile2));
        $image_thumbnail=time().".".$ext;

        $fileUpload2 = move_uploaded_file($_FILES['img2']['tmp_name'],"uploadnewsslider/".$image_thumbnail);
    }


         $sql="insert INTO newsslider(image, thumbnail) VALUES ('$image_name', '$image_thumbnail')";
         mysql_query($sql,$connection);
         }

详细地说,我想从表单中的两个单独的浏览按钮上载两个图像,然后将它们存储到表中的两个单独的字段(即image_name和image_thumbnail)中。

[您在这里看到我有两种输入文件类型(img和img2),我想将它们存储在表的两个不同字段(image_name和image_thumbnail)中。

请提出建议。预先感谢。

php mysql file-upload image-upload multifile-uploader
2个回答
1
投票

您上传了第一个文件:

$fileUpload = move_uploaded_file($_FILES['img']['tmp_name'],"uploadnewsslider/".$image_name);

但是您未插入将其添加到数据库。

因此,如果要将两个图像存储在单独的字段中,则需要:

  1. 修改表架构,使其可以存储两个图像而不是一个图像(即id | image1 | image1_thumb | image2 | image2_thumb
  2. 为保存图像的变量赋予不同的名称(即$ image1_name,$ image2_name等)
  3. 在一个查询中插入both图像。

我希望很清楚。


0
投票

更改此

mysql_query($sql,$connection);

对此

mysqli_query($sql,$connection);

另外,请阅读https://www.php.net/manual/en/book.mysqli.php

© www.soinside.com 2019 - 2024. All rights reserved.