【问题标题】:How to insert downloaded images name into database, i dont want to insert by uploading image如何将下载的图片名称插入数据库,我不想通过上传图片插入
【发布时间】:2018-05-03 06:03:04
【问题描述】:

我能够读取文件夹中已经存在/下载的图像名称,但需要插入数据库,如何做到这一点 我不想通过上传图片将其插入数据库

<?php
// to fetch images name from directory in array format
$directory = glob('C:/xampp/htdocs/mail'); // your directory

foreach (glob("*.{jpg,png,gif}", GLOB_BRACE) as $filename)
{
    echo $filename;
}

【问题讨论】:

  • 你在哪里尝试插入数据库,你做了什么研究,所以不是编码服务,你可以找到很多关于插入数据库的教程和手册.
  • 我能够从电子邮件中下载所有附件和图像,现在我需要将这些附件插入数据库,我只能找到关于上传图像的解决方案,然后图像名称存储在数据库,但是我如何插入下载的图像。

标签: php database image download insert


【解决方案1】:
  • 将所有文件名存储在一个数组中
  • 与数据库建立连接。例如:

$conn = mysqli_connect( $hostname, $user, $pass, $dbname );

  • 使用 foreach 循环。

例如:

foreach (glob("*.{jpg,png,gif}", GLOB_BRACE) as $filename)
{
    $query = "INSERT INTO demo (fileName) VALUES ('$filename')";
    $res = mysqli_query($conn,$query);
    if($res){
        echo "$filename was inserted";
    }
    else{
        echo "$filename was not inserted";
    }
}

其中,demo = 表名称,fileName 是您要存储文件名称的列。

注意:我使用了 MySQLi Procedural。您也可以使用 MySQLi 面向对象或 PDO。

外部参考:

MySQLi Installation

PDO Installation

Connecting to DB

Inserting data in DB

【讨论】:

    【解决方案2】:

    感谢您的帮助和建议... 我得到了所需的输出

    $servername="Localhost";
    $dbname = "email_tab";
    $username="root";
    $pwd="root";
    
    // To check the established connection
    $conn = new mysqli( $servername,$username,$pwd,$dbname);
    if ($conn->connect_error)
    {
      die("Connection failed: " . $conn->connect_error);
    } 
    
    //fetch images in the folder
    $dir = glob('C:/xampp/htdocs/mail'); 
    $images = glob("*.{jpg,png,gif}", GLOB_BRACE);
    $filename=array();  // to assign images to array
    
    foreach($images as $image)
    {
       $filename[]=$image;
    }
    

    // 使用 $cnt 递增以获取所有 图片

    for($cnt=0;$cnt<=3;$cnt++)  
    {
    
    $emailimage=$filename[$cnt]; // passing $cnt as to fetch all images
    // insert to the database
    echo $sql= "INSERT INTO email_attachment ( `ino`, `is_deleted`, `status`, `email_master_sno`, `attachment_path`, `filename`) VALUES ('1', '0', '1', '1', 'NULL', '".$emailimage."')";
    $conn->query($sql);
    
    }
    
    echo $emailimage;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      • 2015-03-15
      • 2016-03-02
      相关资源
      最近更新 更多