Page 1 sur 1

Problème de resize de JPEG

Posté : 17 août 2007, 13:59
par Invité
Bonjour.

J'ai un bon script pour resizer une jpeg
// Le fichier
$filename = $photo;
$percent = 0.3;

// Content type
header('Content-type: image/jpeg');

// Calcul des nouvelles dimensions
list($width, $height) = getimagesize($filename);
$new_width = $width * $percent;
$new_height = $height * $percent;

// Redimensionnement
$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

// Affichage
imagejpeg($image_p, null, 100);
Ca marche bien pour 1 JPEG. Or, j'aimerais faire une boucle avec un while par rapport à une liste de JPEG sur le serveur. Et la ça plante. Il me renvoie l'adresse du fichier php (?????)

qqun a une idée ?

Posté : 17 août 2007, 14:55
par AB
Et si tu fais ta boucle sur simplement deux fichiers, ça plante aussi ? ... ça pourrait venir d'un nombre trop grand de fichiers à traiter qui fait dépasser le memory limit...

Posté : 17 août 2007, 15:02
par Invité
oui meme deux fichiers ça plante

Posté : 17 août 2007, 15:12
par AB
Faudrait faire ça en deux étapes. Une première qui redimensionne tous tes fichiers et une seconde qui affiche les fichiers redimensionnés

Posté : 17 août 2007, 17:46
par yesh
yo merci de ton aide.

le prob c'est justement je ne sais pas trop ou est créee cette nouvelle image. sur le serveur ? je la vois pas dans l'arbo.

Posté : 17 août 2007, 20:08
par AB
Dans ton script tu as
imagejpeg($image_p, null, 100);
à la place de null indiques le chemin vers le fichier sauvegardé http://fr.php.net/manual/fr/function.imagejpeg.php

si tu as sur le serveur un dossier 'photo' et que tu veux sauvegarder ta nouvelle image dans ce dossier sous le nom 'nouvelleimage.jpeg' cela donne :
imagejpeg($image_p, photo/nouvelleimage.jpeg, 100);