Stocker image BDD
Résolu
TRUNCKS
Messages postés
1066
Statut
Membre
-
Mazamazine Messages postés 84 Statut Membre -
Mazamazine Messages postés 84 Statut Membre -
Bonjour à vous,
Je viens de finir un script pour uploader une image avec redimensionnement.
J'aimerai savoir comment coupler cela avec une base de données.
Il faut stocker le lien à l'upload mais je ne vois pas vraiment comment faire.
Pouvez vous m'aider ?
Merci à vous.
Je viens de finir un script pour uploader une image avec redimensionnement.
J'aimerai savoir comment coupler cela avec une base de données.
Il faut stocker le lien à l'upload mais je ne vois pas vraiment comment faire.
Pouvez vous m'aider ?
Merci à vous.
A voir également:
- Stocker image BDD
- Image iso - Guide
- Légender une image - Guide
- Reduire taille image - Guide
- Acronis true image - Télécharger - Sauvegarde
- Image gratuite - Guide
8 réponses
Merci pour la réponse,
Ben en fait je ne sais pas comment présenter le insert avec le lien, en fonction du dossier image tout ça.
Si je dois stocker le chemin de base dans une variable et ajouter le nom de l'image etc... :(
Ben en fait je ne sais pas comment présenter le insert avec le lien, en fonction du dossier image tout ça.
Si je dois stocker le chemin de base dans une variable et ajouter le nom de l'image etc... :(
J'ai trois champs de formulaire, un pour le titre, un pour une texte et un pour l'upload d'image.
Je récupère tout avec un post et je fais insert dans la bdd:
$sq="insert into images values('',\"$nom_image\",\"$texte_image\")";
$quer=mysql_query($sq ) or die('erreur sq: '.mysql_error());
Mais c'est là que ça bloque, je ne sais pas trop comment le formuler au niveau de l'image pour entrer l'url.
Je récupère tout avec un post et je fais insert dans la bdd:
$sq="insert into images values('',\"$nom_image\",\"$texte_image\")";
$quer=mysql_query($sq ) or die('erreur sq: '.mysql_error());
Mais c'est là que ça bloque, je ne sais pas trop comment le formuler au niveau de l'image pour entrer l'url.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ok mais quand tu gères ton file_upload tu enregistres bien ton image quelque part non ? $nom_image c'est juste le nom de l'image ou son chemin ?
Ce serait vraiment mieux avec tout ton code.
Ce serait vraiment mieux avec tout ton code.
Le nom image c'est en fait le titre, ce n'est pas le titre de l'image.
Voilà ce que j'utilise pour l'upload:
Voilà ce que j'utilise pour l'upload:
if( !empty($_FILES['fichier']['name']) ) { // Recuperation de l'extension du fichier $extension = pathinfo($_FILES['fichier']['name'], PATHINFO_EXTENSION); // On verifie l'extension du fichier if(in_array(strtolower($extension),$tabExt)) { // On recupere les dimensions du fichier $infosImg = getimagesize($_FILES['fichier']['tmp_name']); // On verifie le type de l'image if($infosImg[2] >= 1 && $infosImg[2] <= 14) { // On verifie les dimensions et taille de l'image if(($infosImg[0] <= WIDTH_MAX) && ($infosImg[1] <= HEIGHT_MAX) && (filesize($_FILES['fichier']['tmp_name']) <= MAX_SIZE)) //on redimentionne limage $x = 75; $y = 75; # Taille en pixel de l'image redimensionnée if ($infosImg) echo 'Image redimensionnée ... '; if ($infosImg['mime']=='image/jpeg' ) { $img_big = imagecreatefromjpeg($_FILES['fichier']['tmp_name']); # On ouvre l'image d'origine $img_new = imagecreate($x, $y); # création de la miniature $img_mini = imagecreatetruecolor($x, $y) or $img_mini = imagecreate($x, $y); // copie de l'image, avec le redimensionnement. imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$infosImg[0],$infosImg[1]); imagejpeg($img_mini,$_FILES['fichier']['tmp_name'] ); } elseif ($infosImg['mime']=='image/png' ) { $img_big = imagecreatefrompng($_FILES['fichier']['tmp_name']); # On ouvre l'image d'origine $img_new = imagecreate($x, $y); # création de la miniature $img_mini = imagecreatetruecolor($x, $y) or $img_mini = imagecreate($x, $y); // copie de l'image, avec le redimensionnement. imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$infosImg[0],$infosImg[1]); imagepng($img_mini,$_FILES['fichier']['tmp_name'] ); } elseif ($infosImg['mime']=='image/gif' ) { $img_big = imagecreatefromgif($_FILES['fichier']['tmp_name']); # On ouvre l'image d'origine $img_new = imagecreate($x, $y); # création de la miniature $img_mini = imagecreatetruecolor($x, $y) or $img_mini = imagecreate($x, $y); // copie de l'image, avec le redimensionnement. imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$infosImg[0],$infosImg[1]); imagegif($img_mini,$_FILES['fichier']['tmp_name'] ); } { // Parcours du tableau d'erreurs if(isset($_FILES['fichier']['error']) && UPLOAD_ERR_OK === $_FILES['fichier']['error']) { // On renomme le fichier $nomImage = md5(uniqid()) .'.'. $extension; // Si c'est OK, on teste l'upload if(move_uploaded_file($_FILES['fichier']['tmp_name'], TARGET.$nomImage)) { $message = 'Upload réussi !';
Ok, la ligne qui m'intéressait c'était
Sauf que je suis pas une pro de pro et je comprend pas d'où sort TARGET. Mais bref, ça devrait ressembler à ça (si ya 4 colonnes dans la table mettons). Après ne sachant pas ce que contient TARGET ni la structure exacte de ton site je fais au pif, adaptes :
Est-ce que ça te répond ? Par contre je vois qu'initialement tu avais mis ton mysql_query($sq) dans une variable mais vu que c'est un insert je ne vois pas tellement l'intérêt. En quoi ça va te resservir après ?
Merci Ubuntu
if(move_uploaded_file($_FILES['fichier']['tmp_name'], TARGET.$nomImage))
Sauf que je suis pas une pro de pro et je comprend pas d'où sort TARGET. Mais bref, ça devrait ressembler à ça (si ya 4 colonnes dans la table mettons). Après ne sachant pas ce que contient TARGET ni la structure exacte de ton site je fais au pif, adaptes :
$chemin_image = "http://www.monsite/".TARGET.$nomImage; $quer = "INSERT INTO images VALUE('','$chemin_image','$nom_image','$texte_image')"; mysql_query($quer) or die('Erreur SQL : '.$quer.'<br>'.mysql_error());
Est-ce que ça te répond ? Par contre je vois qu'initialement tu avais mis ton mysql_query($sq) dans une variable mais vu que c'est un insert je ne vois pas tellement l'intérêt. En quoi ça va te resservir après ?
Merci Ubuntu