Home > Backend Development > PHP Tutorial > PHP uses blob to access image information (including source code)

PHP uses blob to access image information (including source code)

烟雨青岚
Release: 2023-04-08 21:32:02
forward
3923 people have browsed it

PHP uses blob to access image information (including source code)

php uses blob to access image information (including source code)

BLOBYes A MySQL data type called a binary large object. As its name suggests, it is used to store large amounts of string data similar to MYSQL binary and VARBINARY types.

MySQL BLOB classification

MySQL BLOB type maximum storage length (bytes)

TINYBLOB (1)(2 ^ 8)

blob ((2 ^ 16)1)

MEDIUMBLOB ((2 ^ 24)1)

LONGBLOB ((2 ^ 32)1)

In this article In this tutorial, we learn how to insert and read MySQL BLOB fields using PHP.

(PS: T good PHP Q buckle: 276167802, verification: csl)

First, we need tocreate a MySQL table with a BLOB field.

CREATE TABLE IF NOT EXISTS `output_images` (
  `imageId` tinyint(3) NOT NULL AUTO_INCREMENT,
  `imageType` varchar(25) NOT NULL DEFAULT '',
  `imageData` mediumblob NOT NULL,
  PRIMARY KEY (`imageId`)
)
Copy after login

Insert data

Insert picture information into the MySQL BLOB field.

1. Upload the image file.

2. Get the image attributes (image data, image type, etc.)

3. Insert the image file into BLOB.

PHP implementation script:

imageUpload.php

<?php
if(count($_FILES) > 0) {
if(is_uploaded_file($_FILES[&#39;userImage&#39;][&#39;tmp_name&#39;])) {
mysql_connect("localhost", "root", "");
mysql_select_db ("phppot_examples");
$imgData =addslashes(file_get_contents($_FILES[&#39;userImage&#39;][&#39;tmp_name&#39;]));
$imageProperties = getimageSize($_FILES[&#39;userImage&#39;][&#39;tmp_name&#39;]);
$sql = "INSERT INTO output_images(imageType ,imageData)
VALUES(&#39;{$imageProperties[&#39;mime&#39;]}&#39;, &#39;{$imgData}&#39;)";
$current_id = mysql_query($sql) or die("<b>Error:</b> Problem on Image Insert<br/>" .
mysql_error());
if(isset($current_id)) {
header("Location: listImages.php");
}}}
?>
<HTML>
<HEAD>
<TITLE>Upload Image to MySQL BLOB</TITLE>
<link href="imageStyles.css" rel="stylesheet" type="text/css" />
</HEAD>
<BODY>
<form name="frmImage" enctype="multipart/form-data" action="" method="post"
class="frmImageUpload">
<label>Upload Image File:</label><br/>
<input name="userImage" type="file" class="inputFile" />
<input type="submit" value="Submit" class="btnSubmit" />
</form>
</div>
</BODY>
</HTML>
Copy after login

After executing this script, the upload form will be displayed as follows:

Submit the form, PHP gets the file of the content image and stores it as binary data into a MySQL BLOB column.

Display pictures

To display BLOB images on the browser, we must:

1 , Obtain image data and type from MySQL BLOB

2. Set the type to image (image/jpg, image/gif, …) using the PHP header() function.

3. Output the image content.

imageView.php
<?php
$conn = mysql_connect("localhost", "root", "");
mysql_select_db("phppot_examples") or die(mysql_error());
if(isset($_GET[&#39;image_id&#39;])) {
$sql = "SELECT imageType,imageData FROM output_images WHERE imageId=" . $_GET[&#39;image_id&#39;];
$result = mysql_query("$sql") or die("<b>Error:</b> Problem on Retrieving Image BLOB<br/>"
. mysql_error());
$row = mysql_fetch_array($result);
header("Content-type: " . $row["imageType"]);
echo $row["imageData"];
}
mysql_close($conn);
?>
Copy after login

The above PHP code will display the picture stored in MySQL BLOB. From the HTML image tag we can refer to this PHP file with the corresponding image_id as parameter. For example:

<img src="imageView.php?image_id=<?php echo $row["imageId"]; ?>" />
Copy after login

The completed code is as follows:

listImages.php




List BLOB Images




<img src="imageView.php?image_id=<?php echo $row["imageId"]; ?>" />
Copy after login

Thank you for reading, I hope you will benefit a lot.

Original link: https://blog.csdn.net/u012275531/article/details/1791499

Recommended tutorial: "php tutorial"

The above is the detailed content of PHP uses blob to access image information (including source code). For more information, please follow other related articles on the PHP Chinese website!

Related labels:
php
source:csdn.net
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template