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!