Resize auto sur Image

Sanceray3
Invité n'ayant pas de compte PHPfrance

21 avr. 2009, 21:29

Bonsoir à tous,

Voilà je me permets de poster un petit message sur ce Forum pour essayer de trouver des explications à quelque chose que je ne comprends absolument pas.

J'ai trouvé sur le NEt une procédure expliquant comment faire un resize d'une image après upload, pour pouvoir ajuster et redimensionner des images automatiquement.

Ce script fonctionne parfaitement, mais ce uniquement avec des fichiers de petites tailles (+/- 300Ko), au delà le resize ne fonctionne pas. L'image garde sa taille d'origine. Savez vous si il y a des limites ou autre chose qui expliquerait cela.

Par avance merci de votre aide précieuse.

Mon code :

Code : Tout sélectionner

.... //Création d'un resize de l'image $max_width = "500"; $size = getimagesize("../uploads/profils/$imgname"); $width = $size[0]; $height = $size[1]; if ($width > $max_width) { $scale = $max_width/$width; } else { $scale = 1; } $newImageWidth = ceil($width * $scale); $newImageHeight = ceil($height * $scale); $newImage = imagecreatetruecolor($newImageWidth,$newImageHeight); $source=imagecreatefromjpeg("../uploads/profils/$imgname"); imagecopyresampled($newImage,$source,0,0,0,0,$newImageWidth,$newImageHeight,$width,$height); imagejpeg($newImage,"../uploads/profils/$imgname",75);

ViPHP
ViPHP | 5924 Messages

21 avr. 2009, 21:56

Une erreur quand tu exécutes le script ?
Quel genre d'images lui fournis-tu (format) ?

Invité
Invité n'ayant pas de compte PHPfrance

21 avr. 2009, 22:03

Non aucune erreur. Je lui fournis une simple image jpg.

Si je fais l'essai avec une image de 220 Ko, ça fonctionne impec : mon image est redimensionné, sa taille réduite en fonction....

Par contre si je prends une photo exactement du même type, mais juste un peu plus grosse, là ça ne fonctionne plus. Aucun message particulier mais rien au final, l'image reste telle quelle.

ViPHP
ViPHP | 5924 Messages

21 avr. 2009, 22:08

Regarde s'il y a un problème avec le résultat de la fonction getimagesize().

ViPHP
ViPHP | 2287 Messages

21 avr. 2009, 22:21

Regarde aussi tes logs d'erreur apacheau cas où :-)
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Sanceray3
Invité n'ayant pas de compte PHPfrance

21 avr. 2009, 22:35

Arf oui en effet quand je regarde mes logs PHP, je vois ce message à chaque fois que j'exécute mon script avec une image trop grosse :

[21-Apr-2009 22:32:49] PHP Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 6400 bytes) in /Applications/MAMP/htdocs/equitwo/activate.php on line 29

ViPHP
ViPHP | 2287 Messages

21 avr. 2009, 23:06

Problème classique. Deux liens pour t'aider :
- http://www.phpfrance.com/forums/viewtop ... mory+limit
- http://www.phpfrance.com/forums/viewtop ... mory+limit

et si ça ne suffit pas, tu en trouveras plein d'autres avec le moteur de recherche (bien que ça couvre déjà toutes les "solutions") :)
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Sanceray3
Invité n'ayant pas de compte PHPfrance

21 avr. 2009, 23:54

Je vais essayer ça. Grand merci pour votre aide. ;)