欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql一般存儲圖片嗎

林雅南2年前9瀏覽0評論

MySQL一般存儲圖片的方式是通過將圖片轉為二進制碼,然后將二進制碼存儲到數據庫中。

CREATE TABLE `image_table` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`image` longblob NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

在上述代碼中,創建了一個名為image_table的表,其中包含一個id字段和一個image字段。image字段的數據類型為longblob,用于存儲二進制碼。

當需要存儲圖片時,可以通過以下方式將圖片轉為二進制碼并存儲到數據庫中:

$file = "image.jpg";
$image = file_get_contents($file);
$encoded_image = base64_encode($image);
$sql = "INSERT INTO image_table (image) VALUES ('$encoded_image')";
mysqli_query($conn, $sql);

在上述代碼中,$file變量存儲了需要存儲的圖片路徑,file_get_contents()函數用于讀取二進制文件內容,并通過base64_encode()函數將其轉為base64編碼的字符串。最后,通過mysqli_query()函數將編碼后的字符串插入到image_table表的image字段中。

當需要從數據庫中讀取并顯示圖片時,可以通過以下方式重新將二進制碼轉為圖片:

$id = 1;
$sql = "SELECT image FROM image_table WHERE id = '$id'";
$result = mysqli_query($conn, $sql);
$row = mysqli_fetch_array($result);
header("Content-type: image/jpeg");
echo base64_decode($row['image']);

在上述代碼中,$id變量存儲了需要讀取的圖片在數據庫中的id。通過mysqli_query()函數從數據庫中讀取image字段的值,并將其保存到$row數組中。在顯示圖片時,要在HTTP響應頭中設置Content-type為相應的圖片類型,然后通過base64_decode()函數將base64編碼的字符串重新轉為原始的二進制碼并輸出。