【问题标题】:upload multiple images and inserted into separate field in table using php and mysql使用 php 和 mysql 上传多个图像并插入到表中的单独字段中
【发布时间】:2016-03-03 05:32:09
【问题描述】:

我的 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_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 的基础知识。
  • 我这样做了,复制了两次答案并将变量重命名为: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); } 但它两次存储相同的图像。请帮忙
  • 请使用您遇到问题的格式正确的代码更新您的问题。看Minimal, Complete, and Verifiable example

标签: php mysql file-upload image-upload multifile-uploader


【解决方案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. 在一个查询中插入两个图像。

我希望它很清楚。

【讨论】:

  • 感谢您的回复。我写了像$sql="insert INTO newsslider(image, thumbnail) VALUES ('$image_name', '$image_thumbnail')"; mysql_query($sql,$connection);这样的查询我还提到了两个不同的变量(img和img2)和像ImageID | image_name | image_thumbnail这样的表架构请澄清我做错了什么。
猜你喜欢
  • 2018-02-20
  • 2014-12-02
  • 1970-01-01
  • 2015-05-25
  • 2012-11-08
  • 1970-01-01
  • 2021-08-14
  • 1970-01-01
  • 2012-02-28
相关资源
最近更新 更多