momoreira
Messages postés3Date d'inscriptionmercredi 6 mai 2009StatutMembreDernière intervention30 juin 2009
-
29 juin 2009 à 16:00
momoreira
Messages postés3Date d'inscriptionmercredi 6 mai 2009StatutMembreDernière intervention30 juin 2009
-
30 juin 2009 à 18:34
Bonjour tout le monde, voila je vous explique mon problème. Je cherche à renommer une image lors de mon upload pour une galerie, jusque là rien de très compliqué, cependant voila le hic.
Ma galerie est toute simple avec une fonction Js qui consiste à dire que quand je clique sur l'image miniature, elle vient s'afficher en taille normale au centre de la page.
J'ai donc une fonction upload qui redimensionne l'image à la taille "normale" et j'ai essayé d'y ajouter en même temps la création et le redimmensionnement de cette même image mais à la taille "miniature".
J'ai dans mon dossier Galerie des images nommées image1.jpg, image1_reduit.jpg, image2.jpg, image2_reduit.jpg...etc...
Je cherche donc à renommer la seconde image miniature crée en y ajoutant "_reduit" à la fin de son nom mais je ne vois pas à quel moment le faire.
Voici un extrait de ma page: (chemin est le nom que j'ai attribué à mon "Parcourir" du formulaire = D)
imagegif($img_mini,$file );
imagegif($img_mini2,$file );
}
}
$result=mysql_query("INSERT INTO photo_galerie (reduit, normal) VALUES ('$?????', '$newchemin')"); Et ici je dois donc avoir ma variable contenant le chemin+nom de la miniature de l'image...
momoreira
Messages postés3Date d'inscriptionmercredi 6 mai 2009StatutMembreDernière intervention30 juin 2009 30 juin 2009 à 16:10
Merci beaucoup trop nul.
Cela fonctionne très bien et le chemin de l'image réduite s'insert correctement dans la BDD.
Cependant je ne parviens pas à créer l'image réduite, du moins elle ne se retrouve pas dans le dossier Images/Galerie.
Peux tu m'aider stp?!
Merci.
momoreira
Messages postés3Date d'inscriptionmercredi 6 mai 2009StatutMembreDernière intervention30 juin 2009 30 juin 2009 à 18:34
Re salut à toi,
je pense avoir trouvé une solution plus simple, j'ai repris ma fonction de redimensionnement en fonction du type MIME et voici une solution qui fonctionne:
if(filesize($chemin)<2000000000)
{ if(move_uploaded_file($chemin,$emplacement.$titre))
{ $newchemin = $emplacement.$titre;
$newchemin2 = $emplacement . pathinfo($titre,PATHINFO_FILENAME) . '_reduit.' . pathinfo($titre,PATHINFO_EXTENSION);
$file = $newchemin ; # L'emplacement de l'image à redimensionner. L'image peut être de type jpeg, gif ou png
$file2 = $newchemin2 ;
$x = 448;
$y = 299;
$x2 = 120;
$y2 = 80; # Taille en pixel de l'image redimensionnée
$size = getimagesize($file);
if ($size) {
if ($size['mime']=='image/jpeg' ) {
$img_big = imagecreatefromjpeg($file); # On ouvre l'image d'origine
$img_big2 = imagecreatefromjpeg($file);Je n'ai eu qu'à recréer une image à partir de mon fichier uploadé
$img_new = imagecreate($x, $y);
$img_new2 = imagecreate($x2, $y2);
# création de la miniature
$img_mini = imagecreatetruecolor($x, $y)
or $img_mini = imagecreate($x, $y);
$img_mini2 = imagecreatetruecolor($x2, $y2)
or $img_mini2 = imagecreate($x2, $y2);
// copie de l'image, avec le redimensionnement.
imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$size[0],$size[1]);
imagecopyresized($img_mini2,$img_big2,0,0,0,0,$x2,$y2,$size[0],$size[1]);
imagejpeg($img_mini,$file );
imagejpeg($img_mini2,$file2 );
}
Et voila le travail, l'upload redimmensionne mon image et en crée une deuxième selon les dimensions x2 et y2 en la renommant avec un _reduit.
D'ailleurs tu avais oublié un '.' après le _réduit, dans:
$newchemin2 = $emplacement . pathinfo($titre,PATHINFO_FILENAME) . '_reduit' . pathinfo($titre,PATHINFO_EXTENSION);
Merci beaucoup de ton aide en tout cas !
Cordialement