|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : mars 2011 Messages : 12 ![]() |
Bonjour,
Je poste ici, car je cherche depuis plusieurs jours une solution à mon problème, et cela, en vain... J'ai un upload d'images à faire pour un site web. Lors de cet upload, je vérifie si le fichier et au poids et au format désiré. Si c'est le cas, j'upload l'image sur mon serveur. Suite à ça, j'ouvre le fichier pour le redimensionner. Comme toutes les images sont au format jpeg, j'utilise la fonction imagecreatefromjpeg. Quand les images font moins de 1Mo, tout se déroule correctement, mais lorsque celles ci dépassent 1Mo, rien ne se produit. Après avoir effectué différents tests, je suis sur que l'erreur vient de cette fonction, mais je ne sais pas pourquoi. J'ai regardé sur différents forums mais rien à ce sujet. Je vous met une copie d'un bout de mon code, pour que vous ayez une idée plus concrète du problème. Merci d'avance Code :
|
||
|
|
00
|
|
|
#2 |
|
Membre éprouvé
![]() |
Il ne s'agit pas de ta limitation au niveau du poids des fichiers ?
Jette un coup d'oeil au niveau de ta conf php : post_max_size upload_max_filesize Ajoute simplement peut etre dans ton script : ou créé un fichier .htaccess |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : mars 2011 Messages : 12 ![]() |
Je ne pense pas que ça puisse être lié à ça car j'arrive à upload des images faisant plus de 1Mo. C'est vraiment le redimensionnement qui pose problème. J'ai bien testé d'upload toute sorte d'image au format jpeg, allant de mois de 1Mo à plus de 3Mo, et elles uploadaient correctement tant qu'elles satisfaisaient à mes conditions. Mais le redimensionnement ne fonctionne que pour les images faisant moins de 1Mo. Les images sont déjà sur le serveur lorsque je veux les redimensionner.
|
|
|
00
|
|
|
#4 |
|
Membre éprouvé
![]() |
J'ai édité entre temps mon post
:Ajoute simplement dans ton script : ou créé un fichier .htaccess |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : mars 2011 Messages : 12 ![]() |
Bonjour,
J'ai bien essayé avec ta méthode, le problème persiste. J'insiste, désolé, sur la fonction imagecreatefromjpeg. J'ai mis deux échos, l'un avant, et l'autre après l'appel de cette fonction. "Test 1", et "Test 2". Je télécharge mon image de 1 Mo, elle s'ajoute bien sur le serveur (La limite que j'ai appliquée est de 3 Mo). J'ouvre mon image, Test 1 s'affiche, et pas le second, donc logiquement, la suite du code n'est donc pas prise en compte. Lorsque je télécharge une image de moins de 1 Mo, elle s'ajoute bien sur le serveur. J'ouvre à nouveau mon image en vue du redimensionnement, Test 1 et Test 2 s'affichent et les deux redimensionnement sont effectués. L'intégralité du script est effectuée. Merci d'avance |
|
|
00
|
|
|
#6 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
ca ne dépend pas de la taille de ton fichier mais de le taille (largeur hauteur) de l'image, GD décompresse l'image ce qui fait la mémoire peux monter très très vite, je te conseil de bien vérifier les valeurs de :
- display_errors - error_reporting - gd.jpeg_ignore_warning
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : mars 2011 Messages : 12 ![]() |
Memory Limit est à 30M
Post Max Size est à 8M Error Reporting est à -1 Display Errors est On Et je n'ai pas trouvé d'erreur en ce qui concerne le gd.jpeg_ignore_warning :s |
|
|
00
|
|
|
#8 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
met des var_dump à plusieurs endroits dans ton code et regarde ou ils s'arrêtent
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : mars 2011 Messages : 12 ![]() |
Le code s'arrête après imagecreatefromjpeg.
|
|
|
00
|
|
|
#10 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
bizarre que t'es aucune erreurs qui s'affiche
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : mars 2011 Messages : 12 ![]() |
Je sais bien, c'est pour ça que je viens demander votre aide. Et je ne comprend pas pourquoi ça marche quand les images font moins de 1Mo :s
|
|
|
00
|
|
|
#12 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
t'es vraiement sur sur des valeurs de ton ini (à vérifie avec un ini_get juste avant l'erreur), le rendu HTML final est totalement blanc ?
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#13 |
|
Invité de passage
![]() Inscription : mars 2011 Messages : 12 ![]() |
Les valeurs que je vous ai indiqué, je les ai trouvé en faisant un phpinfo dans mon script. Donc je suppose qu'elles sont exactes.
Pour le rendu, oui, on peut considérer que c'est une page blanche. (Le script est réalisé dans le corps de la page. C'est le corps qui est totalement vide. Les parties inclues avant le corps s'affichent, mais pas celle qui suivent le corps, comme le pied de page, etc ...) |
|
|
00
|
|
|
#14 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
la configuration peu être differente dans ton script le seul moyen d'être sur c'est avec les ini_get juste avant l'erreur
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#15 | ||
|
Invité de passage
![]() Inscription : mars 2011 Messages : 12 ![]() |
Voici le code que j'ai utilisé :
Code :
testdisplay_errors = 1 register_globals = 1 post_max_size = 8M error_reporting = 2037 gd.jpeg_ignore_warning = |
||
|
|
00
|
|
|
#16 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
donc le error_reporting a un niveau bas,
au debut de ton code fait: ps : pas terrible le register_globals sur On
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#17 |
|
Invité de passage
![]() Inscription : mars 2011 Messages : 12 ![]() |
J'ai bien mis ce code en début de script, mais ça ne change rien.
Je m'absente, je part travailler. Merci du temps consacré. Je serai de retour en fin de soirée, si tu as d'autres conseils à me donner. Merci d'avance |
|
|
00
|
|
|
#18 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
t'as regarde au niveau des logs du serveur ?
je te conseil de faire un code de test plus simple, avec un image deja uploader et juste avec imagecreatefromjpeg (et vérifie bien ton error_reporting)
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#19 | ||
|
Invité de passage
![]() Inscription : mars 2011 Messages : 12 ![]() |
J'ai simplifié le code précédent sur une page de test, ou j'ouvre une image qui fait 2Mo. Voici le code, et l'affichage obtenu :
Code : Code :
Test de redimensionnement Test avant imagecreatefromjpeg display_errors = 1 register_globals = 1 post_max_size = 8M error_reporting = -1 gd.jpeg_ignore_warning = Si je ne mets pas error reporting à -1, il m'affiche 2037. |
||
|
|
00
|
|
|
#20 |
|
Invité de passage
![]() Inscription : mars 2011 Messages : 12 ![]() |
J'ai testé en local avec le même code... Et ça fonctionne : Voici l'affichage obtenu :
Test de redimensionnement Test avant imagecreatefromjpeg display_errors = 1 register_globals = post_max_size = 10M error_reporting = -1 gd.jpeg_ignore_warning = 0 Test après imagecreatefromjpeg |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com