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 05/08/2011, 20h15   #1
Invité de passage
 
Inscription : août 2005
Messages : 4
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 4
Points : 1
Points : 1
Par défaut Limitations de imagecreatefromx ?

Bonsoir

Je butte sur un problème avec un script qui génère des vignettes.

Le principe :
En fonction du type mime du fichier, je fais appel à la fonction adéquate :
imagecreatefromgif, imagecreatefromjpeg, imagecreatefromtiff, ou imagecreatefrompng

Or dans certains cas la fonction ne retourne rien (ni aucune erreur), et avorte le script sans message d'erreur.

Image trop "lourde" ou trop grande ?
Par exemple une image de 4 Mo, 1200 x 1800 pixels, d'autres plus petites passent.

J'ai tenté de gérer les erreurs :
Code :
if (imagecreatefromtiff($chemin_source) == FALSE ){ ...
ou
Code :
1
2
$img = imagecreatefromtiff($chemin_source);
if (!img){ ...
Rien, le script s'arrête manifestement au début de la tentative d'exécuter imgagecreatefromxxx

Y a-t-il une limitation ?

Le temps de réponse est court (environ une seconde).
Donc pas un problème de timeout.

J'ai tenté aussi de pousser la limitation en mémoire :
Code :
ini_set(‘memory_limit’,’64M’);
Sans effet.

C'est très fâcheux, de voir planter un script sans pouvoir intercepter les erreurs et les traiter.
Encore plus rageant de ne pas comprendre...

Une petite idée pour m'aider ?
Merci d'avance
Jean-Michel
Jean-Michel 25 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2011, 21h31   #2
Rédacteur/Modérateur
 
Avatar de Thes32
 
Homme
Développeur Web
Inscription : décembre 2006
Messages : 2 335
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2006
Messages : 2 335
Points : 3 774
Points : 3 774
Peux tu activer les rapports d'erreurs ?
__________________
Développeur | Zend Certified Engineer

Étapes Pour mieux se servir du forum:
1. Commencez par lire les cours et tutoriels ;
2. Faites une recherche;
3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

Nix>_Rien n'est plus pratique que la théorie
Thes32 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 05/08/2011, 22h10   #3
Invité de passage
 
Inscription : août 2005
Messages : 4
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 4
Points : 1
Points : 1
Merci pour le conseil.

C'est fait, et c'est édifiant :
Call to undefined function imagecreatefromtiff()

Voilà déjà une explication, en ce qui concerne les TIF.
Cette fonction était utilisée sur un précédent hébergement, mais ne fonctionne plus sur l'actuel.

Il me reste à reproduire l'erreur que j'avais sur d'autres formats, cette fois-ci dus je pense à une limitation. Je me renseigne aussi auprès de celui qui m'héberge...

merci
Jean-Michel
Jean-Michel 25 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/08/2011, 09h07   #4
Invité de passage
 
Inscription : août 2005
Messages : 4
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 4
Points : 1
Points : 1
Et voici la fin de l'histoire :

Fatal error: Allowed memory size of 62914560 bytes exhausted (tried to allocate 3800 bytes) in ...

J'ai ajouté en début de script l'instruction
ini_set('memory_limit','64M');

et ça fonctionne...

Merci de m'avoir aiguillé
JM
Jean-Michel 25 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 12h43.


 
 
 
 
Partenaires

Hébergement Web