Maison >développement back-end >tutoriel php >Comment puis-je stocker et récupérer des images dans une base de données MySQL à l'aide de PHP ?
Stockage et récupération d'images dans une base de données MySQL à l'aide de PHP
Comment pouvez-vous conserver et accéder aux images dans une base de données MySQL à l'aide de PHP ? Pour les débutants, comprendre cela peut être intimidant. Voici un guide complet pour vous aider à démarrer :
Étape 1 : Préparation de la base de données MySQL
Créez une table MySQL pour stocker les images, similaire à cet exemple :
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 '' );
Étape 2 : Stockage de l'image dans la base de données
Pour écrire une image à la base de données :
$imgData = file_get_contents($filename); $size = getimagesize($filename); mysql_connect("localhost", "$username", "$password"); mysql_select_db ("$dbname"); $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);
Étape 3 : Récupération de l'image de la base de données
Pour afficher une image de la base de données :
$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!