Enregistrement d'image apres redimensionnement

Résolu
clement1138 Messages postés 52 Date d'inscription mardi 8 février 2011 Statut Membre Dernière intervention 28 juillet 2011 - 5 juin 2008 à 14:13
clement1138 Messages postés 52 Date d'inscription mardi 8 février 2011 Statut Membre Dernière intervention 28 juillet 2011 - 5 juin 2008 à 15:45
voila bon j'ai un code qui me permet de redimensionner des images puis de les enregistrer dans un dossier.....toutes les images s'appelle image suivi d'un numéro qui s'incremente......puis l'enregistrement c'est la meme chose avec le nom new_image + numero qui s'incremente...
voila le probleme c'est que mes images redimensionnées ne sont pas créees alors que si j'enleve le code que j'ai fais pour l'incrementation automatique les images se créees.....(en gros en enlevant la requette + le pour)
voila le code .....peut etre trouverez vous pourquoi les images ne se créees pas :

<?
//recuperer le nmero de la derniere ligne
$i=1;
$requete=mysql_query("select max(id) from groupe ");
while ($row=mysql_fetch_row($requete)){
$dernier_id=$row[0];
echo $dernier_id;
}


function retaille_jpeg($fichier, $ratio=0.5){
//pour toutes les lignes de la BDD
for ($i;$i<=$dernier_id;$i++){


//redimension de l'image
  $jpeg   = imagecreatefromjpeg($fichier);
  $jpeg_width  = imagesx($jpeg);
  $jpeg_height = imagesy($jpeg);
  $thumb_width = $jpeg_width * $ratio;
  $thumb_height = $jpeg_height * $ratio;


  $thumb = imagecreatetruecolor($thumb_width, $thumb_height);


  imagecopyresampled($thumb, $jpeg, 0, 0, 0, 0,
                     $thumb_width, $thumb_height, $jpeg_width, $jpeg_height);


  imagedestroy($jpeg);
  return $thumb;




/* crée une miniature à 1/4 */
$mini = retaille_jpeg("image$i.jpeg",0.10);


/* écriture dans un fichier */
 
imagejpeg($mini, "new_image$i.jpg", 70);
}


}
?>

voila merci d'avance

7 réponses

winwarrior Messages postés 654 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 10 février 2009 1
5 juin 2008 à 15:21
pourquoi le for dans la fonction?

enleve le et en dehors de la fonction:

for ($i = 0;$i<=$dernier_id;$i++){
$mini = retaille_jpeg("image$i.jpeg",0.10); /* écriture dans un fichier */
 
imagejpeg($mini, "new_image$i.jpg", 70);
}

win
3
winwarrior Messages postés 654 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 10 février 2009 1
5 juin 2008 à 15:35
file_exists() pour savoir si l'image existe?

win
3
winwarrior Messages postés 654 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 10 février 2009 1
5 juin 2008 à 14:56
Salut,

tente:

$requete = mysql_query('SELECT `id` FROM `groupe` ORDER BY `id` DESC LIMIT 1;');
$dernier_id = mysql_result($requete, 0);

à la place de

$requete=mysql_query("select max(id) from groupe ");
while ($row=mysql_fetch_row($requete)){
$dernier_id=$row[0];
echo $dernier_id;
}

ps: prend l'habitude d'utiliser <?php au lieu de <?, ça t'evitera des problemes de compatiblité sur d'autres serveurs

win
0
winwarrior Messages postés 654 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 10 février 2009 1
5 juin 2008 à 15:01
Ah oui autre chose, tu ne peux pas acceder à $i dans ta fonction sans utiliser global, la boucle for dans ta fonction, elle sert à quoi? (vu que ça va faire trouze mille fois la meme chose?)

win
0

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

Posez votre question
clement1138 Messages postés 52 Date d'inscription mardi 8 février 2011 Statut Membre Dernière intervention 28 juillet 2011
5 juin 2008 à 15:17
ben disons que en fait toutes mes images vont etre de ce type image1.jpg,  image2.jpg.....et je dois les redimensionner et que new_image1.jpg corresponde a image1.jpg.....sauf que je veux le faire avec toutes les images qui se trouvent dans mon dossier  
donc mon "pour" sert a recuperer les images a partir de image1.jpg jusqu'a la toute derniere image
0
clement1138 Messages postés 52 Date d'inscription mardi 8 février 2011 Statut Membre Dernière intervention 28 juillet 2011
5 juin 2008 à 15:33
Merci infiniment ca marche impeccablement (sa se dit sa???!!!)  
vraiment un grand merci.......les images se créés bien et leur nom s'incremente pile poil comme je veux ..le seul pb qu'il me reste a resoudre et le fait que si les image portant les nom image$i.jpg si elle n'existe pas et bien la boucle ne s'arrete quand meme pas et renvoi forcment untas d'erreurs mais ca je ne devrais pas avoir trop de mal a le gerer ....meme peut etre avec un while a la place du pour


en tt les cas merci enormement rapide et efficace


@+
0
clement1138 Messages postés 52 Date d'inscription mardi 8 février 2011 Statut Membre Dernière intervention 28 juillet 2011
5 juin 2008 à 15:45
oué bon ben encore mieux ca fonctionne plutot bien  MDR 
lol bon ben merci a toi
0
Rejoignez-nous