|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||||
|
Invité régulier
![]() Inscription : mai 2006 Messages : 21 ![]() |
Bonjour les gens!
Voilà, j'explique mon petit problème: je dois créer un site composé de plusieurs galeries. Chacune d'entre-elles est accessible via un menu. les images de chaque galerie sont stockées dans des dossiers portant le nom de cette dernière (le nom de la galerie quoi Jusque là, pas de problème. La ou ça coince, c'est au niveau de mon administration. Il faut prévoir la possibilité d'ajouter une galerie. J'arrive à créer le dossier (voici l'arborescence : magalerie -> thumb - photos). Ensuite, j'ai créé un petit formulaire d'upload. Voici le script qui traite l'envoi: Code :
Voici la fonction en question: Code :
Citation:
Merci d'avance |
|||||
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : janvier 2003 Messages : 2 018 ![]() |
Bonjour,
c'est quoi la ligne 5 de pic_functions.php ?
__________________
N1bus Modérateur Web / PHP Aucune demande technique ne sera traitée par MP . Merci PHP/GD : Génération d'un code-barre Code 39 FCKEditor : Modifier la largeur des listes déroulantes PHP/e-Commerce : Installation d'une solution de paiement en ligne SIPS-ATOS |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : mai 2006 Messages : 21 ![]() |
Bonjour bonjour!
Oui désolé j'aurais du le préciser, la ligne 5: L'exécution du script est plutôt longue, j'ai également essayé "imagecopyresized" au lieu de "imagecopyresampled", le script s'exécute plus rapidement mais même problème lors d'un nouvel envoi et l'image perd en qualité. Voila et merci de vous intéresser si vite à mon cas |
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : janvier 2003 Messages : 2 018 ![]() |
Quelle est la taille des fichiers que tu envoies ?
__________________
N1bus Modérateur Web / PHP Aucune demande technique ne sera traitée par MP . Merci PHP/GD : Génération d'un code-barre Code 39 FCKEditor : Modifier la largeur des listes déroulantes PHP/e-Commerce : Installation d'une solution de paiement en ligne SIPS-ATOS |
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : mai 2006 Messages : 21 ![]() |
Là je teste en local avec des fichiers dont la taille varie de presque rien à 1.5Mo. Tout ceci n'est pas pour moi et les photos qui seront envoyées seront tout aussi lourdes (voir plus). Une collection comprend +/- 25 photos de ce type donc là c'est la galère
|
|
|
00
|
|
|
#6 |
![]() ![]() Inscription : janvier 2003 Messages : 2 018 ![]() |
Là, je ne comprends pas.
Généralement l'erreur Max Memory survient dans le cas où ton script dépasse la taille mémoire allouée. ça arrive souvent lors de boucles assez longues. Toutes ces fonctions sont dans une boucle ? Tu traites un répertoire entier ou une image à la fois ?
__________________
N1bus Modérateur Web / PHP Aucune demande technique ne sera traitée par MP . Merci PHP/GD : Génération d'un code-barre Code 39 FCKEditor : Modifier la largeur des listes déroulantes PHP/e-Commerce : Installation d'une solution de paiement en ligne SIPS-ATOS |
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Inscription : mai 2006 Messages : 21 ![]() |
Non il n'y a pas de boucle, juste un else en fin de code pour afficher le formulaire quand on arrive sur la page. La fonction est appelée une fois que l'image a été placée dans le bon dossier. Celle-là et uniquement celle-là est redimensionnée. Au début j'avais une boucle qui vérifiait le contenu de tout le dossier et traitait les images, c'était inutile et je pensais que le problème venait de là mais visiblement non. Le pire c'est que quel que soit la mémoire allouée, le script plante de la même façon.
Edit: J'ai essayé les multiples de 8 et ça passe avec 128M Bon je ne dois pas être le seul à trouver ça énorme pour un script! Un autre truc bizarre, pour une photo sur 2, le traitement est plus long. |
|
|
00
|
|
|
#8 | ||
![]() ![]() Inscription : janvier 2003 Messages : 2 018 ![]() |
Code :
__________________
N1bus Modérateur Web / PHP Aucune demande technique ne sera traitée par MP . Merci PHP/GD : Génération d'un code-barre Code 39 FCKEditor : Modifier la largeur des listes déroulantes PHP/e-Commerce : Installation d'une solution de paiement en ligne SIPS-ATOS |
||
|
|
00
|
|
|
#9 |
|
Invité régulier
![]() Inscription : mai 2006 Messages : 21 ![]() |
En effet ça vient de là (oups la boulette
En fait je pensais qu'il fallait supprimer le résultat de imagecreatefromjpeg, les exemples que j'ai consulté utilisant la même variable pour les différentes opérations. Encore merci pour ton aide donc On peut considérer ce post comme résolu. A bientôt! |
|
|
00
|
|
|
#10 | ||
|
Membre du Club
![]() Inscription : juin 2007 Messages : 68 ![]() |
Bonjour, pardonnez mon ignorance, mais je ne vois pas comment vous avez résolu le problème.
Ce que tu indiques N1bus, est la même chose de ce qu'il a écrit dans son code. j'ai la même erreur, (que je n'avais pas avant que j'installe une nouvelle version d'apache). Le script fonctionne chez un serveur de Free, mais pas en local chezm moi Code :
Code :
$source = imagecreatefromjpeg($filename); |
||
|
|
00
|
|
|
#11 | |
![]() ![]() Inscription : janvier 2003 Messages : 2 018 ![]() |
Bonjour,
Tu ne détruis pas l'image que tu crées ici : Il faut que tu rajoutes à la fin de la fonction Si ton script fonctionne chez FREE et pas chez toi, ça vient peut-etre de ça : Citation:
__________________
N1bus Modérateur Web / PHP Aucune demande technique ne sera traitée par MP . Merci PHP/GD : Génération d'un code-barre Code 39 FCKEditor : Modifier la largeur des listes déroulantes PHP/e-Commerce : Installation d'une solution de paiement en ligne SIPS-ATOS |
|
|
|
00
|
|
|
#12 | |
|
Membre du Club
![]() Inscription : juin 2007 Messages : 68 ![]() |
J'ai pourtant la librairie gd 2, je me suis rendu compte d'une chose assez étonnante, c'est que ca ne marche pas sur certaine photos ... (prise avec un réflex). Mais pourtant cela fonctionne chez Free.
en rajoutant imagedestroy($thumb) ca me renvoi toujours cette erreur Citation:
Code :
$source = imagecreatefromjpeg($filename); |
|
|
|
00
|
|
|
#13 |
![]() ![]() Inscription : janvier 2003 Messages : 2 018 ![]() |
Regarde le phpinfo() chez FREE et compares avec le tien.
notament memory_limit
__________________
N1bus Modérateur Web / PHP Aucune demande technique ne sera traitée par MP . Merci PHP/GD : Génération d'un code-barre Code 39 FCKEditor : Modifier la largeur des listes déroulantes PHP/e-Commerce : Installation d'une solution de paiement en ligne SIPS-ATOS |
|
|
00
|
|
|
#14 | ||
|
Membre du Club
![]() Inscription : juin 2007 Messages : 68 ![]() |
c'est ce que j'ai fait, je trouve cette différence qui se trouve dans les directives de la librairie gd :
Local (WampServer) : Citation:
Citation:
|
||
|
|
00
|
|
|
#15 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 2 ![]() |
Bon le post date mais je suis tombé dessus avec google en tapant l'erreur que j'avais en local et pas chez Free : Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 9920 bytes) in
J'ai suivi la piste de N1bus sur la valeur de memory_limit qui est de 32M chez free et qui était par défaut de 8M sur mon wamp soit les 8388608 bytes assurément. Pour ça il suffit par exemple de changer la ligne de ..\Apache2\bin\php.ini : memory_limit = 8M ; Maximum amount of memory a script may consume (8MB) en memory_limit = 32M Edit : en fait je suis retombé sur le problème même avec des images de 400ko et après une heure d'investigation je viens de comprendre que c'est pas uniquement la taille en octet qui compte mais surtout la taille en pixels (cf. : http://www.igalerie.org/faq.php) car la librairie GD convertit au format bmp les images chargées en mémoire |
|
|
00
|
|
|
#16 |
|
Membre confirmé
![]() Inscription : juin 2003 Messages : 859 ![]() |
Un article très clair: http://www.igalerie.org/faq.php
__________________
David. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com