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
Mary-Kate Olsenoriginal
2024-12-11 06:31:13362parcourir

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 ''
);

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

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

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:
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