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
1015 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!

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