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