comment enregistrer une image une fois redimensionnée

comment enregistrer une image une fois redimensionnée - PHP - Programmation

Marsh Posté le 05-06-2008 à 14:24:34    

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 :  

Code :
  1. <?
  2. //recuperer le nmero de la derniere ligne
  3. $i=1;
  4. $requete=mysql_query("select max(id) from groupe " );
  5. while ($row=mysql_fetch_row($requete)){
  6. $dernier_id=$row[0];
  7. echo $dernier_id;
  8. }
  9. function retaille_jpeg($fichier, $ratio=0.5){
  10. //pour toutes les lignes de la BDD
  11. for ($i;$i<=$dernier_id;$i++){
  12. //redimension de l'image
  13.   $jpeg   = imagecreatefromjpeg($fichier);
  14.   $jpeg_width  = imagesx($jpeg);
  15.   $jpeg_height = imagesy($jpeg);
  16.   $thumb_width = $jpeg_width * $ratio;
  17.   $thumb_height = $jpeg_height * $ratio;
  18.   $thumb = imagecreatetruecolor($thumb_width, $thumb_height);
  19.   imagecopyresampled($thumb, $jpeg, 0, 0, 0, 0,
  20.                      $thumb_width, $thumb_height, $jpeg_width, $jpeg_height);
  21.   imagedestroy($jpeg);
  22.   return $thumb;
  23. /* crée une miniature à 1/4 */
  24. $mini = retaille_jpeg("image$i.jpeg",0.10);
  25. /* écriture dans un fichier */
  26. imagejpeg($mini, "new_image$i.jpg", 70);
  27. }
  28. }
  29. ?>


voila merci d'avance  :hello:  

Reply

Marsh Posté le 05-06-2008 à 14:24:34   

Reply

Marsh Posté le 05-06-2008 à 14:45:06    

un peu le "bordel" ton code :
- $dernier_id est "undefined" dans la fonction retaille_jpeg
- tu fais un return ligne 27 donc les lignes d'après ne s'exécutent pas
- tu fais un appel récursif alors que ta fonction ne le gère pas
...etc

Reply

Marsh Posté le 05-06-2008 à 15:12:15    

ok pour les 2 premiers points !!! mais le troisieme comment je dois m'y prendre pour que la fonction le gere ?

Reply

Marsh Posté le 05-06-2008 à 15:27:09    

ben tu reprends tes cours de "bases de la programmation", ou tu cherches sur google, ça ira plus vite que d'attendre une réponse sur un forum

Reply

Marsh Posté le 05-06-2008 à 15:34:18    

merci @ +++

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed