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 upload image [ZF 1.7]


Sujet :

Zend Framework PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2008
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 57
    Par défaut probléme avec upload image
    Salut,

    je suis entraine mnt de faire ulpoad une image et insérée URL dans ma BD
    voici le code de mon formulaire :
    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
     
    <?php
    class FormulaireUpload extends Zend_Form
    {
    	public function __construct($uploadPath,$options = null)
    	{
    		parent::__construct($options);
    		$this->setName('upload');
    		$this->setMethod('post');
    		$this->setAttrib('enctype', 'multipart/form-data'); 		
     
    		$id=new Zend_Form_Element_Hidden('id');
    		$host=new Zend_Form_Element_Hidden('host');
     
    		$upfile = new Zend_Form_Element_File('upfile');
    		$upfile->setLabel('upload picture : ')
    			->setRequired(true)	
    			->addValidator('NotEmpty')
    			->addValidator('Extension',false,array('jpg','png','gif','bmp'))
    			->addValidator('size',false,1048576)
    			->setDestination($uploadPath);
     
    		$submit = new Zend_Form_Element_Submit('submit');
    		$submit->setLabel('Upload');
    		$this->addElements(array($id, $host,$upfile, $submit));
    	}
    }
    controller.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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    public function pictureAction()
       {
       	$id = (int)$this->_request->getParam('id',0);  
       	$ctr=new Country_CountryDes();
       	$country=$ctr->fetchRow('CTR_ID='.$id);
       	    $lien="/var/www/test/htdocs/images/country/".$country->NAME;
       	    $upv="/htdocs/images/country/".$country->NAME;
    	$up=realpath($lien);
    	$this->view->upv=$upv;//le lien à envoyer vers la vue
     
    	//affichage des images de cet pays
    	$im=new Picture_Picture();
    	$imgs=$im->fetchAll('PICTURE_ID='.$id);
    	$this->view->imgs=$imgs;
    	//le nom du fichier
    	$tab=explode(" ",$country->NAME);
    	$nom=implode("_",$tab);
    	$nom.="_".$country->NOMBRE_IMAGES;
     
    	$form = new FormulaireUpload();
    	$form->getElement('host')->setValue($id);
    	$this->view->form = $form;
    	//tester si le formulaire est posté
    	if ($this->_request->isPost()) {		
    		$formData = $this->_request->getPost();
    		$name=$form->getValue('upfile');
    		$tab=explode('.',$name);
    		$newtab=array();
    		$newtab[0]=$nom;
    		$newtab[1]=$tab[sizeof($tab)-1];
    		$newname=implode(".",$newtab);
    		rename($up."\\".$name, $up."\\".$newname);
    		if ($form->isValid($formData)) {
    			$img=new Picture();
                            $row=$this->createRow();
            		$row->PICTURE_ID=$form->getValue('host');
            		$row->URL=$newname;        		
            		$row->save();
    			$this->_redirect('/country/picture/id/'.$id);			
    		} else 
    			$form->populate($formData);
    	}
       }
    et voici l'erreur qui je trouve :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Notice: Undefined index: filters in /var/www/test/application/lib/Zend/File/Transfer/Adapter/Abstract.php on line 796
     
    Fatal error: Unsupported operand types in /var/www/test/application/lib/Zend/File/Transfer/Adapter/Abstract.php on line 796
    j'ai fait qlq recherche et j'ai trouve que on ne peut pas utilise addElement dans file :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     "do not use addElement an the file element the reason is that getValue() will be called the file elements but they have no value and behave false in such a condition"
    SVP si qlq peut me donner un coup de main (des rémarques, suggestion....)
    Et merci d'avance

  2. #2
    Membre confirmé
    Inscrit en
    Décembre 2008
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 57
    Par défaut
    Salut pour le dernière problème c'est un problème dans mes libraires de zend j'ai télécharger une autre version de zend et ça va,
    mais pour le moment j'ai rencontrer un autre problème c'est que l'image ne se charge pas

    voici l'erreur que je trouve :!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Warning: move_uploaded_file(/var/www/test/htdocs/images/country/alm2.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in /var/www/test/application/lib/Zend/File/Transfer/Adapter/Http.php on line 102
     
    Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpffr7gN' to '/var/www/test/htdocs/images/country/alm2.jpg' in /var/www/test/application/lib/Zend/File/Transfer/Adapter/Http.php on line 102
    SVP si qlq peut me donner un coup de main
    et MERCI

  3. #3
    Membre éclairé Avatar de reeda
    Formateur en informatique
    Inscrit en
    Août 2006
    Messages
    367
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 367
    Par défaut
    salam,

    en PHP, quand une image est uploadé, elle est placé dans un fichier temporaire, avant d'être redirigée vers son emplacement final,

    d'après l'erreur retournée, le fichier uploadé n'a pas pu être déplacer vers sa destination (celle que tu as choisi),

    à mon avis, il faut revoir les droits d'accès sur le dossier destination

    Bien cordialement

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

Discussions similaires

  1. [FPDF] problème avec les images dans un tableau dynamique
    Par GADSN dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 08/04/2009, 11h11
  2. [IE] Problème avec background-image dans un TR?!
    Par Danny Blue dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 05/12/2007, 17h29
  3. Problème avec insertion image
    Par technopole dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 2
    Dernier message: 26/06/2006, 21h45
  4. Problème avec redimesionnement image...
    Par Baptiste Wicht dans le forum 2D
    Réponses: 4
    Dernier message: 30/11/2005, 22h45
  5. TreeView - Problème avec les images
    Par LoicH dans le forum C++Builder
    Réponses: 4
    Dernier message: 21/06/2005, 18h50

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