Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Images > GD
GD Forum d'entraide pour l'extension GD permettant de manipuler des images en PHP. Avant de poster -> tutoriels GD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/09/2007, 21h58   #1
Candidat au titre de Membre du Club
 
Inscription : novembre 2006
Messages : 34
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 34
Points : 13
Points : 13
Par défaut Utilisation de imagecreatefromjpeg() avec des images de plus de 2 000 pixels

Bonjour,

Je vous expose mon problème.
J'ai un script pour héberger des photos, qui redimensionne automatiquement en 640x480.
Tout marche bien pour les photos inferieur à 2000 pixels.
Au dessus, j'ai le script qui plante totalement, et le problème viens bien de la fonction imagecreatefromjpeg( $fichierSource );

Savez vous si on es limité en résolution avec cette fonction?
Est ce l'hébergeur qui peut avoir mis cette limite?
Ou ca n'a rien a voir?

Merci de vos réponses et de l'attention que vous pretez à ce message.

Jordan.
jojo33bx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2007, 22h14   #2
Candidat au titre de Membre du Club
 
Inscription : octobre 2006
Messages : 17
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 17
Points : 13
Points : 13
le temps que le serveur execute l'operation demandé dois etre assez long pour une si grande image alors peut etre que le "timeout" du serveur est pas assez grand et que la requete a pas le temps d'etre terminer avant qu'il soit écouler..

Peut etre tu devrait essayé avec un jpg de 2000*2000 mais tres compressé et avec une seul couleur voir si c'est la résolution qui pose probleme ou bien la taille du fichier.

Enfin bon c'est mon idée c'est peut etre pas du tout ca.. A++
NioX5199 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2007, 22h18   #3
Candidat au titre de Membre du Club
 
Inscription : novembre 2006
Messages : 34
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 34
Points : 13
Points : 13
Merci pour ta réponse.

Je viens d'essayer un truc vite fait.

J'ai créé un fichier test.php avec ce code :
Code :
1
2
3
4
5
6
 
 
header ("Content-type: image/jpeg");
$image = imagecreatefromjpeg("fotoforum.jpg");
 
imagejpeg($image); // 4 : on a terminé de faire joujou, on demande à afficher l'image
Lorsque fotoforum.jpg fais 2000x2600 pixels (taille 213Ko) ça me met l'erreur suivante :
Citation:
Error 500 - Internal server error

Un problème inattendu est survenu.
Veuillez réessayer ultérieurement.
Lorsque fotoforum.jpg fais 2048x829 pixels (taille 102Ko) l'image s'affiche.


EDIT : J'ai fait encore plein d'essais et voila ce que j'ai trouvé, les images ne doivent pas faire plus de 12.5Millions de pixels environ.

Savez vous si il y a un reglage dans le php.ini ou un truc dans le genre?
jojo33bx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2007, 11h52   #4
Candidat au titre de Membre du Club
 
Inscription : octobre 2006
Messages : 17
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 17
Points : 13
Points : 13
Désolé j'ai pas de solution , c'est juste pour dire que je rencontre le meme probleme j'ai mon hebergeur free.fr . Je peut uploadé une grande image 1250*1980 mais qui ne depasse pas les 300ko. En revanche une image plus petite mais moins compresser de plus de 500ko j'ai aussi droit a une erreur 500.
Comme je le disais je suis presque sur que l'erreur 500 apparait lorsque une requete n'a pas abouti au bout du timeout imposé par le serveur qui chez moi est indiqué par le phpinfo a 30 ( secondes je suppose ).
J'ai fait un test avec une grosse image de 800ko en ligne, => Erreur 500
Si maintenant je fait la meme en local => ca fonctionne. J'en conclue que mon ordinateur effectue les calcul necessaire a la creation de miniature bcp plus rapidement que sur le serveur et donc le delai n'est pas dépassé.

Quelle est ton hebergeur ? Faudrait avoir l'avis de personne ayant essayé ca sur des serveur dediée ou plus puissant que ce de free etc. Mon avis est que le probleme vient tu temps que le serveur met a traiter la requete. Sans en etre sur, tes problemes surviennent t-il en local ou en ligne ??
NioX5199 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2007, 13h59   #5
Candidat au titre de Membre du Club
 
Inscription : novembre 2006
Messages : 34
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 34
Points : 13
Points : 13
Oui mais notre problème n'est pas tout à fait le meme.

Car pour moi une image de résolution 1704x2272 pixels en taille de 1,64Mo passe tres bien et j'arrive à la redimensionner en 680x460.

Mon problème viens bien de la Dimension du pixel. Lorsque l'image est superieure à 15.5 Millions de pixels, ca ne marche pas. Sinon, je peux mettre une image aussi grande que je veux.

Je vais tester ca en local pour voir ce que ca donne.

A toute.

Edit :

Alors ca y es j'ai testé en local et j'en ai tiré une conclusion :
Le problème viens bien de la configuration du fichier php.ini
Code :
1
2
 
memory_limit = 8M      ; Maximum amount of memory a script may consume (8MB)
Lorsque la mémoire alloué n'est pas suffisante, on a bien une erreur.
En passant ce dernier à 30M, ca marche sans problème.

Edit 2 :

J'ail lu que pour le redimensionnement de photo, le php n'est pas le mieux.
Savez vous quel est le language le plus approprié à cette fonction?
Connaissez vous un script?
jojo33bx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2007, 23h36   #6
Candidat au titre de Membre du Club
 
Inscription : octobre 2006
Messages : 17
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 17
Points : 13
Points : 13
Ah ok ca viendrait de la alors... je suis aussi interesser par d'autre methode plus efficace et moins gourmande pour redimmensionner les images.

Edit: Je vient de penser a un truc, serait -il possible de faire tout ca en javascript ? le but étant que les miniature soit creer par l'ordinateur du client et non le serveur, ainsi a l'envoi le visiteur uploaderai l'original et la miniature. Et on aurait plu ce probleme. je vais me renseigner A+
NioX5199 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/09/2007, 19h40   #7
Candidat au titre de Membre du Club
 
Inscription : novembre 2006
Messages : 34
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 34
Points : 13
Points : 13
Ok, je n'y avais pas pensé du tout.
Merci pour l'info, vais essayé de voir ca aussi de mon coté.
Sinon, il y a le flash et le java...
jojo33bx est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h48.


 
 
 
 
Partenaires

Hébergement Web