Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 22-06-2012 11:05:06

xelfer13
Nouveau membre
Date d'inscription: 07-06-2012
Messages: 8

Zend_Form_Element_File

Bonjour,

Je cherche à uploader une photo et 3 fichier pdf.
J'arrive à uploder la photo par contre les pdf ne se mettent pas dans la base de donnée.

Voici ma form.

Code:

<?php

class Application_Form_CreateContrat extends Zend_Form
{

    public function init()
    {         
         // Gestion de la photo du site    
        $datas_medias = new Zend_Config_Ini(APPLICATION__INI_PATH, 'datas_medias');         
        $max_file_size = $datas_medias->medias->max_file_size;
        $extensions = $datas_medias->medias->extensions;
        
        $this->setMethod('post');  
             
        $this->addElement(
            'hidden', 'idsite', array(
                'required' => true, 
            )); 
             
        $this->addElement(
            'hidden', 'idcontrat', array(
                'ignore'   => true,   
                'value' => 0,  
            ));     
                                   
        $this->addElement(
            'text', 'annees', array(
                'label' => 'Années :',
                'ignore'   => true,
                'filters'    => array('StringTrim'),     
                'filters'    => array('StripTags'),
            ));  
        
            
        $photo = new Zend_Form_Element_File('photo');
        $photo->setLabel('Photo de la chaufferie :')
                ->setRequired(true)
                ->addValidator('Size', false, $max_file_size)
                ->setMaxFileSize($max_file_size)
                ->addValidator('Count', false, 1)
                ->addValidator('Extension', false, $extensions);
        $this->addElement($photo, 'photo'); 

        $docenergie = new Zend_Form_Element_File('docenergie');
        $docenergie->setLabel('Contrat (P1) :')
                ->setRequired(true)
                ->addValidator('Size', false, $max_file_size)
                ->setMaxFileSize($max_file_size)
                ->addValidator('Count', false, 1)
                ->addValidator('Extension', false, 'pdf');
        $this->addElement($docenergie, 'docenergie'); 
        
        $docentretien = new Zend_Form_Element_File('docentretien');
        $docentretien->setLabel('Contrat (P2) :')
                ->setRequired(true)
                ->addValidator('Size', false, $max_file_size)
                ->setMaxFileSize($max_file_size)
                ->addValidator('Count', false, 1)
                ->addValidator('Extension', false, 'pdf');
        $this->addElement($docentretien, 'docentretien'); 
        
        $docgarantie = new Zend_Form_Element_File('docgarantie');
        $docgarantie->setLabel('Contrat (P3) :')
                ->setRequired(true)
                ->addValidator('Size', false, $max_file_size)
                ->setMaxFileSize($max_file_size)
                ->addValidator('Count', false, 1)
                ->addValidator('Extension', false, 'pdf');
        $this->addElement($docgarantie, 'docgarantie'); 
        
        $this->addElement(
            'submit', 'submit', array(
                'ignore'   => true,
            ));
  
        
         //Enlever les decorateurs des champs cachés    
        $elements = $this->getElements();
        foreach ($elements as $elem)
            if ($elem instanceof Zend_Form_Element_Hidden)
                $elem->removeDecorator('label')
                     ->removeDecorator('HtmlTag');   
    }  
    
    public function setIdSite($idsite){
      $hidden_idsite = $this->getElement('idsite');
      
      $hidden_idsite->setValue($idsite);    
    }


}

Merci de votre aide

Hors ligne

 

#2 27-06-2012 13:16:39

visualJack
Nouveau membre
Date d'inscription: 16-06-2012
Messages: 6

Re: Zend_Form_Element_File

Ou stocke tu les fichiers ?

Perso j'aurais rajouté un setDestination('NOMDETONCHEMIN') pour chaques champs FILE. Et j'aurais stocker seulement le nom du fichier dans la base . C'est peut être ce que tu as fais.??

Après je ne sais pas si cela marche comme sa quand tu as plusieurs fichiers a upload.

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