Maison > développement back-end > tutoriel php > Comment stocker et récupérer des images dans une base de données MySQL à l'aide de PHP ?

Comment stocker et récupérer des images dans une base de données MySQL à l'aide de PHP ?

Mary-Kate Olsen
Libérer: 2024-12-11 06:31:13
original
342 Les gens l'ont consulté

How to Store and Retrieve Images in a MySQL Database Using PHP?

Stockage et récupération d'images dans une base de données MySQL à l'aide de PHP

Le stockage et la récupération d'images dans une base de données MySQL sont une tâche courante lors du développement d'applications Web qui gérer les images. Cet article montre comment y parvenir en utilisant PHP.

Création d'une table de base de données

Tout d'abord, créez une table dans votre base de données MySQL pour stocker les images. Vous pouvez utiliser l'instruction SQL suivante pour créer une table nommée testblob :

CREATE TABLE testblob (
    image_id TINYINT(3) NOT NULL DEFAULT '0',
    image_type VARCHAR(25) NOT NULL DEFAULT '',
    image BLOB NOT NULL,
    image_size VARCHAR(25) NOT NULL DEFAULT '',
    image_ctgy VARCHAR(25) NOT NULL DEFAULT '',
    image_name VARCHAR(50) NOT NULL DEFAULT ''
);
Copier après la connexion

Insérer une image dans la base de données

Pour insérer une image dans la base de données, lisez les données d'image à partir d'un fichier et enregistrez-les en tant que variable. Vous pouvez ensuite utiliser le code PHP suivant :

$imgData = file_get_contents($filename);
$size = getimagesize($filename);
// Connect to MySQL database
... (connection code) ...

$sql = sprintf("INSERT INTO testblob
    (image_type, image, image_size, image_name)
    VALUES
    ('%s', '%s', '%d', '%s')",
    mysql_real_escape_string($size['mime']),
    mysql_real_escape_string($imgData),
    $size[3],
    mysql_real_escape_string($_FILES['userfile']['name'])
);

mysql_query($sql);
Copier après la connexion

Récupérer une image de la base de données

Pour récupérer une image de la base de données et l'afficher sur une page web , utilisez le code PHP suivant :

// Connect to MySQL database
... (connection code) ...

$sql = "SELECT image FROM testblob WHERE image_id=0";
$result = mysql_query("$sql");
header("Content-type: image/jpeg");
echo mysql_result($result, 0);
mysql_close($link);
Copier après la connexion

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!

source:php.cn
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 articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal