Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour à tous,
j'ai un formulaire qui doit permettre d'uploader des fichiers.
J'utilise donc Zend_Form_Element_File de la façon suivante:
$fichierElement = new Zend_Form_Element_File( 'fichier' ); $fichierElement->setName( 'fichier' ); $fichierElement->setLabel( 'Soumettre un fichier au format csv' ); $fichierElement->addValidator ( 'Count', false, 1 ); $fichierElement->addValidator ( 'Extension', false, 'csv' ); $fichierElement->addValidator ( 'Size', false, 5242880 );//5mo //$fichierElement->setDestination('/tmp'); $fichierElement->setValueDisabled ( true ); $form->addElement ( $fichierElement );
Mon élément 'fichier' apparait correctement dans mon formulaire mais le problème c'est que quand je soumets un fichier (de taille < 5mo), j'obtiens l'erreur suivante, après validation du formulaire:
File 'fichier' exceeds the defined ini size
J'obtiens toujours le même message d'erreur que je soumette un fichier de type csv ou non, et même quand je ne lui soumet rien.
J'ai regardé dans différents forums, et il s'avère que certains ont déjà rencontré ce problème et l'ont résolu en :
- rajoutant "$form->setEnctype( 'multipart/form-data' );" => je l'ai rajouté mais ça ne change rien
- activant "fileinfo" dans php.ini => celui ci est bien activé chez moi
cela fait deux jours que je cherche d'où peut venir le problème mais je n'arrive pas.
Merci à vous de m'éclaircir sur ce point si vous avez des propositions n'hésitez pas....
Hors ligne
Bonjour,
J'avais le meme probleme en utilisant des cms et je l'ai regle en augmentant la valeur de 'upload_max_filesize' du
fichier php.ini.
(Je suis sur wamp. Le fichier php.ini est dans: C:\wamp\bin\apache\Apache2.2.17\bin)
J'ai fais des tests rapides avec ton code.
Test 1:
Upload d'un fichier de 2.5M
Valeur de 'upload_max_filesize' = 2M
Resultat: File 'fichier' exceeds the defined ini size
Test 2:
Upload d'un fichier de 2.5M
Valeur de 'upload_max_filesize' = 5M
Resultat: Pas de message d'erreur
Dernière modification par us2rn4m2 (21-06-2012 12:31:06)
Hors ligne
Merci pour votre réponse,
mais j'ai déjà essayé de modifié ce max, mais le message s'affiche toujours.
Dans mon fichier php.ini, upload_max_filesize = 5Mo.
Hors ligne
C'est 5M et PAS 5Mo !!!!
Et sans point ( . ) !!!
Tests 'upload_max_filesize':
Test 1 avec valeur 5Mo -> File 'fichier' exceeds the defined ini size
Test 2 avec valeur 5M -> pas de message d'erreur
Dernière modification par us2rn4m2 (21-06-2012 12:58:07)
Hors ligne
Oui en effet, j'ai bien upload_max_filesize = 5M dans mon php.ini
Il s'agit d'une erreur de ma part....
Dernière modification par flilou (21-06-2012 13:26:10)
Hors ligne
Bon OK tu t'es trompe dans ton enonce. Donc tu as toujours le message d'erreur.
Dans ma 1ere reponse si j'ai precise que j'utilisais Wamp, c'est parce qu'il y a 2 fichiers php.ini.
Un dans 'C:\wamp\bin\php\php5.3.5' et un autre dans C:\wamp\bin\apache\Apache2.2.17\bin''
Quand c'est necessaire c'est le second que je dois modifier.
As tu egalement plusieurs fichiers php.ini sur ton serveur ???
Voila comment je comprend le message d'erreur 'File 'fichier' exceeds the defined ini size' en Francais:
"le fichier 'fichier' excede la valeur (la taille) definie dans le php.ini"
Comme precise dans ma 1ere reponse j'ai teste ton code et j'ai pas de message d'erreur.... donc ???
Dernière modification par us2rn4m2 (21-06-2012 16:10:08)
Hors ligne
Je le comprends de cette façon également...
Mais tu es d'accord avec moi que si je ne soumets aucun fichier, je ne risque pas d'être supérieur à la valeur définie dans le php.ini, or il m'affiche toujours le même message d'erreur ????
Hors ligne
Voila le projet que j'ai tester avec ton code, telecharge-le ici: http://dl.free.fr/rQv3V6USe
(pas de virus ...)
Je n'ai pas d'erreurs et je n'ai meme pas reussi a provoquer celle lorsque tu ne soumets aucun fichier.
Ca ne resoudra pas ton probleme mais au cas ou si ca marche tu auras au moins matiere a comparaison.
Pour la structure des dossiers j'utilise celle recommendee par Zend. Ton code se situe dans le dossier forms et c'est le controller indexController qui l'envoie a la vue index.phtml.
Il peut arriver que ca soit le navigateur qui reste bloque sur une precedente action. Ca m'est deja arrive, je vide le cache du navigateur et tout rendre dans l'ordre.
J' tembrouille pas plus, je n'ai qu'un niveau intermediaire. Je re-essaye. Si j'ai une solution, je poste.
Dernière modification par us2rn4m2 (21-06-2012 18:37:18)
Hors ligne
Merci
je vais tester et je posterai le résultat, en espérant que je vais trouver le problème....
Hors ligne
Bonjour à tous,
merci us2rn4m2, une fois ton code testé, je me suis rendu compte qu'il s'agissait d'un problème de session.....
Hors ligne
Pages: 1