IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zend Framework PHP Discussion :

problème avec Zend_Form_Element_File


Sujet :

Zend Framework PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 12
    Par défaut problème avec Zend_Form_Element_File
    Bonjour,

    j'ai un formulaire dans lequel, jai placé un élément 'Zend_Form_Element_File'
    pour uploader des images

    quand je teste l'envoi du formulaire, j'ai le message suivant

    'The file 'doc' was illegal uploaded, possible attack'

    voici mon code simplifié :

    page models/Formulaire.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    class Formulaire extends Zend_Form
    {
        public function __construct($options = null)
        {
            parent::__construct($options);
     
           $this->setName('formulaire');
           $this->setAttrib('enctype', 'multipart/form-data');
     
           $doc_file = new Zend_Form_Element_File('doc');
    		$doc_file->setLabel('Chemin vers votre fichier')
    	        ->setDestination('C:/wamp/www/siteTest /application/uploads/')
    		 ->addValidator('Count', false, 1)
    		 ->addValidator('Size', false, 102400)
    		 ->addValidator('Extension', false, 'jpg,png,gif,doc,docx,xls,xlsx,txt')
    		 ->setRequired(true);
     
     
           $submit = new Zend_Form_Element_Submit('submit');
           $submit->setAttrib('id', 'submitbutton');
     
           $this->addElements(array($doc_file,$submit));
     
        }
     
    }

    et la page controllers/IndexControllers.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
     
    function ajouterAction()
    {
      $this->view->title = "Ajouter une image";
            $form = new Formulaire();
            $form->submit->setLabel('Ajouter');
            $this->view->form = $form;
            if ($this->_request->isPost()) {
     
                    $upload = new Zend_File_Transfer_Adapter_Http();
     
    		 try {
    		 $upload->receive();
    		 } catch (Zend_File_Transfer_Exception $e) {
    		 $e->getMessage();
    		 }
     
            }
     
    }

  2. #2
    Membre chevronné Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2004
    Messages : 488
    Par défaut
    Salut,

    C'est normal qu'il y est un espace dans ton 'setDestination'?
    Sinon je pense que cette partie de code ne sert à rien:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $upload = new Zend_File_Transfer_Adapter_Http();
     
    		 try {
    		 $upload->receive();
    		 } catch (Zend_File_Transfer_Exception $e) {
    		 $e->getMessage();
    		 }
    ....enfin personnellement je ne l'utilise pas, le fichier est directement placé là où c'est défini.

    Aussi (tu l'a peut être fait exprès), tu ne vérifie pas que le formulaire est valide dans ton controlleur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ($this->_request->isPost() && $form->isValid()) {
    }

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 12
    Par défaut
    Bonjour,

    J'ai essayer sans le code que tu dis,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $upload = new Zend_File_Transfer_Adapter_Http();
    			try 
    			{
    				 $upload ->receive();
    			} 
    			catch(Zend_File_Transfer_Exception $e) 
    			{
    				$e->getMessage();
    			}
    et puis j'ai fait un print_r de $_FILES[] dans la vue pour pouvoir localiser le chemin vers l'image, mais le tableau est vide

  4. #4
    Membre chevronné Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2004
    Messages : 488
    Par défaut
    Et un Zend_Debug::dump($form->getValues()); ça donne koi?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 12
    Par défaut
    voilà ce que ca donne:

    array(7) {
    ["id"] => string(0) ""
    ["nom"] => string(4) "test"
    ["prenom"] => string(4) "test"
    ["email"] => string(16) "test@hotmail.com"
    ["idType"] => string(1) "1"
    ["file"] => string(9) "Hiver.jpg"
    ["submit"] => string(7) "Ajouter"
    }

  6. #6
    Membre chevronné Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2004
    Messages : 488
    Par défaut
    Ben voilà t'a ton fichier!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  2. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 10h25
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo