Maison > développement back-end > tutoriel php > 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)

烟雨青岚
Libérer: 2023-04-08 21:32:02
avant
4059 Les gens l'ont consulté

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`)
)
Copier après la connexion

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>
Copier après la connexion

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

<🎜 Soumettez le formulaire, PHP récupère le fichier de l'image de contenu et le stocke sous forme de données binaires dans une colonne MySQL BLOB.


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);
?>
Copier après la connexion
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"]; ?>" />
Copier après la connexion

Le code complété est le suivant :

listImages.php




List BLOB Images




<img src="imageView.php?image_id=<?php echo $row["imageId"]; ?>" />
Copier après la connexion

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!

Étiquettes associées:
php
source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers numéros
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal