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

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

Barbara Streisand
Libérer: 2024-12-24 07:04:17
original
1047 Les gens l'ont consulté

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

Stockage et récupération d'images à partir d'une base de données MySQL avec PHP

Afin de stocker des images dans une base de données MySQL et de les récupérer à l'aide de PHP, plusieurs des étapes doivent être suivies.

Création de la table MySQL :
Commencez par créer un table dans MySQL pour stocker les données d'image. Un exemple de structure de tableau appropriée intitulée "testblob" est fourni ci-dessous :

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

Insertion d'une image :
Pour insérer une image dans la base de données, obtenez les données de l'image et ses dimensions à l'aide des utilitaires de fichiers PHP. Connectez-vous à la base de données MySQL et exécutez une requête SQL similaire à la suivante, en vous assurant que les données de l'image sont échappées pour empêcher l'injection SQL :

$imgData = file_get_contents($filename);
$size = getimagesize($filename);
$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ération d'une image :
Pour afficher une image de la base de données sur une page Web, se connecter à la base de données et exécuter une requête pour récupérer les données de l'image. Définissez l'en-tête du type de contenu approprié et affichez l'image à l'aide de la commande echo de PHP :

$sql = "SELECT image FROM testblob WHERE image_id=0";
$result = mysql_query("$sql");
header("Content-type: image/jpeg");
echo mysql_result($result, 0);
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!

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