Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
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.
<?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
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