Maison >base de données >tutoriel mysql >Comment stocker et récupérer des images dans MySQL en utilisant PHP ?

Comment stocker et récupérer des images dans MySQL en utilisant PHP ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-11 16:40:11656parcourir

How to Store and Retrieve Images in MySQL using PHP?

Stockage et récupération d'images dans MySQL avec PHP

Le stockage et la récupération d'images dans une base de données MySQL vous permettent de gérer efficacement de grandes quantités de contenu visuel . Cet article fournit un guide complet pour réaliser cette tâche en utilisant PHP.

Structure de la base de données

Tout d'abord, vous devez créer une table MySQL pour stocker les images. Un exemple de structure de table à cet effet est le suivant :

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

Pour insérer une image dans la base de données, vous pouvez utiliser le code PHP suivant :

$imgData = file_get_contents($filename);
$size = getimagesize($filename);
$link = mysqli_connect("localhost", "username", "password", "dbname");
$sql = sprintf("INSERT INTO testblob
    (image_type, image, image_size, image_name)
    VALUES
    ('%s', '%s', '%d', '%s')",
    mysqli_real_escape_string($link, $size['mime']),
    mysqli_real_escape_string($link, $imgData),
    $size[3],
    mysqli_real_escape_string($link, $_FILES['userfile']['name'])
    );
mysqli_query($link, $sql);

Récupérer une image

Pour récupérer une image de la base de données, vous pouvez utiliser le code PHP suivant :

$link = mysqli_connect("localhost", "username", "password", "dbname");
$sql = "SELECT image FROM testblob WHERE image_id=0";
$result = mysqli_query($link, $sql);
header("Content-type: image/jpeg");
echo mysqli_result($result, 0);
mysqli_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