Stocker image BDD

Résolu/Fermé
TRUNCKS Messages postés 1030 Date d'inscription vendredi 10 août 2007 Statut Membre Dernière intervention 3 juin 2023 - 20 oct. 2011 à 12:41
Mazamazine Messages postés 81 Date d'inscription mercredi 27 février 2008 Statut Membre Dernière intervention 10 février 2015 - 10 nov. 2011 à 03:31
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.
A voir également:

8 réponses

Mazamazine Messages postés 81 Date d'inscription mercredi 27 février 2008 Statut Membre Dernière intervention 10 février 2015 13
20 oct. 2011 à 21:12
Tu as déjà une BDD ? Il suffit de faire un INSERT de ton lien ...
Qu'est-ce qui te bloque ?
0
TRUNCKS Messages postés 1030 Date d'inscription vendredi 10 août 2007 Statut Membre Dernière intervention 3 juin 2023 7
20 oct. 2011 à 22:02
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... :(
0
Mazamazine Messages postés 81 Date d'inscription mercredi 27 février 2008 Statut Membre Dernière intervention 10 février 2015 13
20 oct. 2011 à 22:05
Ben ce serait peut-être bien de montrer un peu ton code alors...
0
TRUNCKS Messages postés 1030 Date d'inscription vendredi 10 août 2007 Statut Membre Dernière intervention 3 juin 2023 7
21 oct. 2011 à 09:02
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mazamazine Messages postés 81 Date d'inscription mercredi 27 février 2008 Statut Membre Dernière intervention 10 février 2015 13
21 oct. 2011 à 16:55
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.
0
TRUNCKS Messages postés 1030 Date d'inscription vendredi 10 août 2007 Statut Membre Dernière intervention 3 juin 2023 7
21 oct. 2011 à 18:47
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:


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

0
Mazamazine Messages postés 81 Date d'inscription mercredi 27 février 2008 Statut Membre Dernière intervention 10 février 2015 13
Modifié par Mazamazine le 21/10/2011 à 23:21
Ok, la ligne qui m'intéressait c'était
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
0
Mazamazine Messages postés 81 Date d'inscription mercredi 27 février 2008 Statut Membre Dernière intervention 10 février 2015 13
10 nov. 2011 à 03:31
Oops, j'avais oublié le .com t'auras remarqué ;)

$chemin_image = "http://www.monsite.com/".TARGET.$nomImage; 
0
TRUNCKS Messages postés 1030 Date d'inscription vendredi 10 août 2007 Statut Membre Dernière intervention 3 juin 2023 7
2 nov. 2011 à 08:14
Nickel, merci encore :)
0