Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 18-07-2008 02:30:14

Tavarez
Membre
Lieu: Valenciennes
Date d'inscription: 18-07-2008
Messages: 56

Upload de fichier dans un Formulaire, comment faire?

Bonjour à tous,

Tout d'abord je suis nouveau dans la communauté Zend alors je vous demanderai d'être assez précis dans vos réponses ^^ car certaines explications me seront peu-être nécessaires. Mon problème est que je veux uploader des fichiers sur mon serveur. Alors arretez moi si je me trompe premièrement mais j'ai cru comprendre que le type FILE n'existait pas dans Zend_Form. Il serait donc nécessaire d'insérer l'élément manuellement dans ce formulaire. Mais ce que je ne sais pas c'est comment ajouter ce code HTML brut dans mon formulaire sous forme d'objet. En fait je voudrai ajouter le input file dans cette liste d'objet. Je pense que vous aurez compris le sens de ma question du moins je l'éspère.

Merci d'avance!


Il n'y a qu'en faisant des erreurs qu'on apprend...

Hors ligne

 

#2 18-07-2008 06:35:05

whitespirit
Membre
Date d'inscription: 25-01-2008
Messages: 393

Re: Upload de fichier dans un Formulaire, comment faire?

Bonjour et bienvenue.

Tu trouveras un tutoriel à cette adresse : http://akrabat.com/2008/04/07/simple-ze … d-example/ te proposant une solution.

Bon courage

Hors ligne

 

#3 18-07-2008 09:31:59

fte
Membre
Lieu: 06 13 83
Date d'inscription: 16-05-2008
Messages: 112
Site web

Re: Upload de fichier dans un Formulaire, comment faire?

Je ne sais pas s'il est aussi abouti que le tuto d'Akrabat mais il y a depuis peu dans l'incubateur : Zend_File_Transfer

Code:

require_once "Zend/File/Transfer/Adapter/Http.php";
require_once "Zend/File/Transfer/Exception.php";

$adapter = new Zend_File_Transfer_Adapter_Http();

try {
    $adapter->setDestination('C:\temp')
            ->receive();
} catch (Zend_File_Transfer_Exception $e) {
    print $e->getMessage();
}

Hors ligne

 

#4 19-07-2008 00:43:05

Tavarez
Membre
Lieu: Valenciennes
Date d'inscription: 18-07-2008
Messages: 56

Re: Upload de fichier dans un Formulaire, comment faire?

Merci pour vos réponses je vais me pencher sur le sujet!


Il n'y a qu'en faisant des erreurs qu'on apprend...

Hors ligne

 

#5 19-08-2008 00:22:38

slaughter
Membre
Date d'inscription: 01-04-2008
Messages: 217

Re: Upload de fichier dans un Formulaire, comment faire?

Bonjour à tous,

Je développement en ce moment une appli dans laquelle les uploads (d'image dans mon cas) sera courant.
Je cherche donc un moyen de pouvoir le faire par formulaire et je voulais votre avis sur la meilleure façon de le faire (et je prends donc suite à ce topic).

Est-ce qu'il est plus pratique de s'inspirer du tuto cité plus haut ou faut-il passer à la version 1.6 du ZF ?

Dans le premier cas, j'ai le message d'erreur suivant lorsque je valide mon formulaire :
------------------------------------------------------------------
Fatal error: Uncaught exception 'Zend_Loader_PluginLoader_Exception' with message 'Plugin by name ValidFile was not found in the registry.' in /var/www/****/library/Zend/Loader/PluginLoader.php:335 Stack trace: #0 /var/www/****/library/Zend/Form/Element.php(984): Zend_Loader_PluginLoader->load('ValidFile') #1 /var/www/****/library/Zend/Form/Element.php(1048): Zend_Form_Element->addValidator('ValidFile', true, Array) #2 /var/www/****/library/Zend/Form/Element.php(1082): Zend_Form_Element->addValidators(Array) #3 /var/www/****/library/Test/Form/Element/File.php(59): Zend_Form_Element->setValidators(Array) #4 /var/www/****/library/Zend/Form.php(1698): Test_Form_Element_File->isValid(NULL, Array) #5 /var/www/*****/application/modules/test/controllers/TestController.php(17): Zend_Form->isValid(Array) #6 /var/www/*****/library/Zend/Controller/Action.php(502 in /var/www/***/library/Zend/Loader/PluginLoader.php on line 335
------------------------------------------------------------------
(J'utilise une librairie de test pour développer mes fonctions.
Je n'arrive pas à savoir d'où vient le problème. La validation du formulaire n'arrive pas à accéder à la fonction isValid()

Dans le deuxième cas, la version 1.6 était assez stable pour développer une nouvelle appli avec et si "oui" avez vous des exemples d'utilisation du transfert de fichier ?

Ça fait beaucoup de question mais je suis sure que d'autre personne sont également passé par là..

Merci d'avance.

Dernière modification par slaughter (19-08-2008 00:23:04)

Hors ligne

 

#6 20-08-2008 06:54:13

grandlap
Membre
Date d'inscription: 22-07-2008
Messages: 50

Re: Upload de fichier dans un Formulaire, comment faire?

Salut,

ton message d'erreur vient du fait que le plugin ValidFile n'est pas trouvé et c'est parce qu'il n'est pas dans les librairies zend mais qu'il s'agit d'une classe perso (App_Validate_ValidFile dans le tuto).

C'est l'intérêt de la ligne

Code:

        $this->addElementPrefixPath('App', 'App/');

dans la classe forms_UploadForm, elle dit au formulaire d'aller chercher les validateurs dont le préfixe est App dans le dossier App/

Hors ligne

 

#7 20-08-2008 12:49:19

slaughter
Membre
Date d'inscription: 01-04-2008
Messages: 217

Re: Upload de fichier dans un Formulaire, comment faire?

Merci, c'était bien ça. J'avais indiqué le nom du répertoire de mes models à la place de celui de ma librairie.
Ça marche parfaitement maintenant.

Et sur la logique globale, est-il conseillé d'utiliser une classe perso ou de passer à la version 1.6 du ZF pour avoir le fonction de transfert de fichier?

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages