簡體   English   中英

如何將下載的圖像名稱插入數據庫,我不想通過上傳圖像插入

[英]How to insert downloaded images name into database, i dont want to insert by uploading image

我能夠讀取已經在文件夾中存在/下載的圖像名稱,但是需要在數據庫中插入,該怎么做,我不想通過上傳圖像將其插入數據庫

<?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;
}
  • 將所有文件名存儲在數組中
  • 與數據庫建立連接。 例如:

$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安裝

PDO安裝

連接到數據庫

在數據庫中插入數據

感謝您的幫助和建議...我得到了所需的輸出

$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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM