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

Comment puis-je stocker et récupérer des images à l'aide de MySQL et PHP ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-17 08:56:24718parcourir

How Can I Store and Retrieve Images Using MySQL and PHP?

Stockage et récupération d'images à l'aide de MySQL et PHP

L'insertion d'une image dans une base de données MySQL implique la création d'une table pour stocker les images, puis l'exécution une requête SQL pour insérer les données de l'image. Pour commencer, une table MySQL appelée "testblob" est créée avec des colonnes pour stocker l'image, son type, sa taille, sa catégorie et son nom.

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

L'insertion d'une image dans cette table se fait à l'aide d'une requête SQL qui spécifie le type d'image, les données d'image réelles, la taille de l'image et le nom de l'image.

$imgData = file_get_contents($filename);
$size = getimagesize($filename);
mysql_connect("localhost", "$username", "$password");
mysql_select_db ("$dbname");
// mysqli 
// $link = mysqli_connect("localhost", $username, $password,$dbname); 
$sql = sprintf("INSERT INTO testblob
    (image_type, image, image_size, image_name)
    VALUES
    ('%s', '%s', '%d', '%s')",
    /***
     * For all mysqli_ functions below, the syntax is:
     * mysqli_whartever($link, $functionContents); 
     ***/
    mysql_real_escape_string($size['mime']),
    mysql_real_escape_string($imgData),
    $size[3],
    mysql_real_escape_string($_FILES['userfile']['name'])
    );
mysql_query($sql);

La récupération d'une image de la base de données peut être effectuée à l'aide d'une autre requête SQL qui sélectionne les données d'image. du tableau approprié.

$link = mysql_connect("localhost", "username", "password");
mysql_select_db("testblob");
$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