Stockage et récupération d'images dans une base de données MySQL à l'aide de PHP
Le stockage et la récupération d'images dans une base de données MySQL sont une tâche courante lors du développement d'applications Web qui gérer les images. Cet article montre comment y parvenir en utilisant PHP.
Création d'une table de base de données
Tout d'abord, créez une table dans votre base de données MySQL pour stocker les images. Vous pouvez utiliser l'instruction SQL suivante pour créer une table nommée testblob :
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 dans la base de données
Pour insérer une image dans la base de données, lisez les données d'image à partir d'un fichier et enregistrez-les en tant que variable. Vous pouvez ensuite utiliser le code PHP suivant :
$imgData = file_get_contents($filename); $size = getimagesize($filename); // Connect to MySQL database ... (connection code) ... $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érer une image de la base de données
Pour récupérer une image de la base de données et l'afficher sur une page web , utilisez le code PHP suivant :
// Connect to MySQL database ... (connection code) ... $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!