Probleme de dimensions dans un script de traitement d'image - PHP - Programmation
Marsh Posté le 28-07-2005 à 12:20:27
ca ne te semble pas un peu grand 2000*1000 ?
Marsh Posté le 28-07-2005 à 12:46:45
C'etait pour tester... C'est pour faire des galeries de photos, et les gens qui participent au site balancent parfois leur photo non retouché, en 1600*1200 par exemple, et c'est le script qui est censé se charger du reste.
Marsh Posté le 28-07-2005 à 14:33:37
C'est bizarre ton truc, je fais régulièrement des transferts d'image de 2272x1704 (natif mon APN quoi) et j'ai aucun soucis.
Bon, j'suis sur un dédié, mais ma mémoire est quand même fixé à 8Mo par script Max. et ça fonctionne quand même très bien.
Marsh Posté le 28-07-2005 à 14:36:04
Par contre, tu détruis bien tes images après traitement ?
Fais voir ton script de redimentionnement...
Marsh Posté le 28-07-2005 à 14:54:43
voici le script complet...
Code :
|
hmmmm je remarque qu'en effet je détruis ptetre pas vraiment tout en fait
un truc qui peut coincer là dedans ?
Marsh Posté le 28-07-2005 à 15:03:42
à part le fait que
# $fp = fopen($imgThumbName, "wb" );
# fclose($fp);
ne sert à rien, non.
Par contre, pense à détruire tes images dès que tu n'en as plus besoin (imagedestroy($imgThumb); imagedestroy($img), autrement, le script conserve peut-être tout en mémoire et zou, ça marche à la première et pas à la seconde.
Marsh Posté le 28-07-2005 à 16:22:25
voilà j'ai ajouté
imagedestroy($imgThumb);
imagedestroy($img);
juste avant le return et j'ai enlevé les 2 lignes inutiles...
mais ca marche toujours pas
ca peut venir d'ou ?
merci
Marsh Posté le 28-07-2005 à 16:29:28
Fait un PHP info sur ton serveur, donne ta version de PHP, moi j'ai cette ligne là :
memory_limit 8M 8M
Donc, bien que je sois sur un dédié, je suis également limité à 8M et j'y arrive sans problème (dès fois j'en transfert même plusieurs en même temps avec plusieurs onglets).
Par contre, je ne sais pas si la mémoire maximum concerne chaque utilisateur ou tous les utilisateurs qui partagent le serveur (si tu es sur un mutualisé par ex.)
Marsh Posté le 28-07-2005 à 23:51:03
Warning: phpinfo() has been disabled for security reasons in /mnt/sites/shootmeagain.com/web/phpinfo.php on line 2
super
mais qd le type me dit
Citation : |
c'est n'importe quoi alors? Si c'est du 8 megas ca devrait passer... sur mon ancien hébergeur en tout cas j'ai dans le phpinfo
post_max_size 8M 8M
et ca marchait...
Marsh Posté le 28-07-2005 à 23:59:38
Bah ça me parait bizarre.
Enfin, je sais pas, moi j'ai toujours fonctionné comme ça même avant mon dédié, je transférais direct de mon APN, c'était pas super rapide (900ko en moyenne), mais ça fonctionnait même chez mon mutualisé.
Marsh Posté le 29-07-2005 à 00:06:50
Ca me parait bizarre aussi... Je suis chez cet hébergeur depuis une semaine
Je recontacterai le service technique on verra bien... mais c'est clair qu'il y a rien de logique là
Marsh Posté le 29-07-2005 à 00:11:14
Au pire, une image de 2000 x 1000 pixels, ça prend, une fois décompréssé 6000000 d'octets, normalement, avec 8388608, ça te laisse plus de 2000000 pour créer ta miniature, ça devrait suffire, à moins que ton script qui précède soit vraiment vraiment énorme ou que ton image contienne des couches alphas.
Marsh Posté le 29-07-2005 à 08:25:15
bah j'ai testé avec un jpg rempli de blanc qui fait meme pas 10ko...
et le script qui precede c'est juste une formulaire d'upload, rien de très gourmand...
Citation : $nomtof="image".$i; |
Marsh Posté le 07-08-2005 à 13:46:32
Juste pour info, j'ai pu contourner cette limite de 8megas (qui n'est apparemment effective que sur certaines versions de PHP, c'est pourquoi ça peut marcher chez vous avec de plus grosses images, le script prend malgré tout + de 8 megas...).
il a suffi d'ajouter
Code :
|
au début de mon script, puisque je n'avais bien sur pas accès au php.ini...
merci de vos conseils en tout cas, ca m'a mis sur la piste !
Marsh Posté le 28-07-2005 à 12:17:44
Hello à tous,
J'ai sur mon site un script de redimensionnement d'image, qui va donc réduire une image qu'on vient d'uploader... Ce script a toujours très bien fonctionné, mais depuis que j'ai ce nouvel hébergement chez Nexlink, les images ne passaient plus... Avec ce message d'erreur :
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate
2000 bytes) in /mnt/sites/shootmeagain.com/web/thumb.php on line 6
La ligne 6 étant la suivante :
$img = ImageCreateFromJpeg($file);
J'ai eu le problème avec une image de 2000x1000 pixels alors qu'une image de
2000x500 pixels marche sans problème...
Et j'ai reçu cette réponse du service technique Nexlink :
Bonjour,
La mémoire allouée pour l'exécution des scripts PHP est de 8Mo. Avec ce genre de
traitement, la résolution maximale supportée est d'environ 1024x768. Il faut
savoir que pour le traitement d'image, le serveur doit décompresser celle-ci
afin de pouvoir la redimensionner.
Meilleures salutations,
NexLink Support Team
Que faire pour contourner ce problème ? J'espère qu'il y a un moyen quelconque?
Message édité par Dawa le 28-07-2005 à 12:18:04
---------------
SHOOT ME AGAIN WEBZINE