Maison  >  Article  >  développement back-end  >  PHP utilise un blob pour accéder aux informations sur l'image (y compris le code source)

PHP utilise un blob pour accéder aux informations sur l'image (y compris le code source)

烟雨青岚
烟雨青岚avant
2020-06-13 17:27:113894parcourir

PHP utilise un blob pour accéder aux informations sur l'image (y compris le code source)

php utilise blob pour accéder aux informations sur l'image (y compris le code source)

BLOBOui Un type de données MySQL appelé grand objet binaire. Comme son nom l'indique, il est utilisé pour stocker de grandes quantités de données de chaîne similaires aux types binaires MYSQL et VARBINARY.

Classification MySQL BLOB

Longueur de stockage maximale du type MySQL BLOB (octets)

TINYBLOB (1)(2 ^ 8)

blob ((2 ^ 16)1)

MEDIUMBLOB ((2 ^ 24)1)

LONGBLOB ((2 ^ 32)1)

Dans cet article Dans Dans ce tutoriel, nous apprenons à insérer et lire des champs MySQL BLOB à l'aide de PHP.

(PS : T Nice boucle PHP Q : 276167802, Vérification : csl)

Tout d'abord, nous devons créer une table MySQL avec un champ BLOB .

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`)
)

Insérer des données

Insérer des informations sur l'image dans le champ MySQL BLOB.

1. Téléchargez le fichier image.

2. Obtenez les attributs de l'image (données d'image, type d'image, etc.)

3. Insérez le fichier image dans BLOB.

Script d'implémentation PHP :


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>

Après avoir exécuté ce script, le formulaire de téléchargement s'affichera comme suit :


Afficher l'image


Pour afficher l'image BLOB sur le navigateur, il faut :


1 , Obtenez les données d'image et tapez à partir de MySQL BLOB


2. Définissez le type sur image (image/jpg, image/gif, …) à l'aide de la fonction PHP header().


3. Sortez le contenu de l'image.

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);
?>
Le code PHP ci-dessus affichera l'image stockée dans MySQL BLOB. A partir de la balise d'image HTML, nous pouvons faire référence à ce fichier PHP avec l'image_id correspondant comme paramètre. Par exemple :

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

Le code complété est le suivant :

listImages.php




List BLOB Images




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

Merci d'avoir lu, j'espère que vous bénéficierez d'un parcelle.


Lien original : https://blog.csdn.net/u012275531/article/details/1791499

Tutoriel recommandé : "

Tutoriel php

"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer