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_Form PHP Discussion :

[upload] Unknown option: useByteString [ZF 1.7]


Sujet :

Zend_Form PHP

  1. #1
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Par défaut [upload] Unknown option: useByteString
    Bonjour,

    Je suis à développer un mini-projet permettant l'upload d'un fichier dans un répertoire (saisi en dur dans le code).

    J'ai suivi le manuel Zend Framework concernant le type file mais... Ça ne fonctionne pas.

    application/default/view/scripts/index/index.phtml
    Code php : 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
     
    <?php
     
    /**
     * Default home page view
     *  
     * @author
     * @version
     */
     
    $this->headTitle('Formulaire upload');
    $this->placeholder('title')->set('test sur formulaire');
    ?>
     
     
    <?php echo $this->form;?>

    application/default/controllers/IndexController.php
    Code php : 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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
     
    <?php
     
    /**
     * IndexController - The default controller class
     * 
     * @author
     * @version 
     */
     
    require_once 'Zend/Controller/Action.php';
     
    class IndexController extends Zend_Controller_Action 
    {
    	private $form;
     
    	public function init()
    	{
    		//Création d'une instance de Formulaire Zend_Form
    		$form = new Zend_Form;
     
    		//Spécification de l'action vers laquelle on renvoi le submit du form
    		$form->setAction('index/traitementupload')
    		//Spécification de la méthode d'envoi des informations
    		     ->setMethod('post')
    		//On attribue un ID au formulaire
    		     ->setAttrib('id', 'unFormulaire')
    		     ->setAttrib('name', 'unFormulaire')
    		//Ne pas oublier l'enctype
    			 ->setAttrib('enctype', 'multipart/form-data');
     
     
    		//On instancie un objet qui sera le input type = "file"
    		$upload = new Zend_Form_Element_File('inputUpload');
            $upload	->setRequired(TRUE)
    	    		->setMultiFile(1);
     
    	   	//Ajout du type file au form
            $form->addElement($upload);
     
            //On instancie un objet qui sera le input type = "submit"
            $submit = new Zend_Form_Element_Submit('Ajouter');
     
            //Ajout du type submit au form
            $form->addElement($submit);
     
            $this->form = $form;
    	}
    	/**
    	 * The default action - show the home page
    	 */
        public function indexAction() 
        {
        	//On associe le formulaire à la vue
    		$this->view->form = $this->form;
        }
     
        public function traitementuploadAction()
        {
    		//Le formulaire a-t-il été soumis ? 
    		if ($this->_request->isPost()) 
    	   	{
    	   		echo 'Formulaire soumis<br />';
    	   		//On récupère les données du formulaire
    			$donneesFormulaire = $this->_request->getPost();
    			//Si les données sont correctes selon les validateurs
    			if ($this->form->isValid($donneesFormulaire)) 
    		   	{
    		   		echo 'Formulaire valide<br />';
    				//On va uploader le fichier
    				$upload = new Zend_File_Transfer_Adapter_Http();
    				//Quel est le chemin de destination du fichier ?
    				$upload->setDestination('C:\temporaire\\');
    				try {
    					//On tente de récupérer le fichier
    				    $upload->receive();
    				} catch (Zend_File_Transfer_Exception $e) {
    					//Une exception est levée 
    				    $e->getMessage();
    				}
     
                    //On affiche les informations sur le fichier uploadé                
                    //Récupération du nom du fichier à partir de l'élément file du formulaire
                    $name = $upload->getFileName('inputUpload');
     
                    //On récupère la taille du fichier
                    $upload->setOptions(array('useByteString' => false));
                    $size = $upload->getFileSize();
     
                    //On retourne le type mime du fichier
                    $mimeType = $upload->getMimeType('inputUpload');
     
                   	//Il faut maintenant afficher les diverses informations sur le fichier
                    echo'
                    	Nom du fichier : '.
                    	$name.
                    	'<br />'.
                    	'Taille : '.
                    	$size.
                    	'<br />'.
                    	'Type Mime : '.
                    	$mimeType;
     
                    //Il est possible de renommer le fichier mais avant, on en fait une copie
                    copy('C:\temporaire\\'.$name, 'C:\temporaire\\'.$name.'.old');
     
                    $renameFile = $name.rand(1,100);
     
                    $fullFilePath = 'C:\temporaire\\'.$renameFile;
     
                    // Rename uploaded file using Zend Framework
                    $filterFileRename = new Zend_Filter_File_Rename(array('target' => $fullFilePath, 'overwrite' => true));
     
                    $filterFileRename -> filter($name);
    		   	}
    		   	else
    		   	{
    		   		echo 'Formulaire invalide... Il lui manque un bras ?<br />';
    		   	}
            } 
            else 
            {
    	   		echo 'formulaire insoumis... Rebellion !';
    		    // Si aucune donnée n'a été transmise
    		    $this->form->populate($donneesFormulaire);
    		}
     
        	//On associe le formulaire à la vue
    		$this->view->form = $this->form;
    		//On reprend la vue de l'index
    	    return $this->render('index');
     
        }
    }

    Le useByteString me renvoie :
    exception 'Zend_File_Transfer_Exception' with message 'Unknown option: useByteString = ' in C:\php_dev\Formulaire\library\Zend\File\Transfer\Adapter\Abstract.php:535 Stack trace: #0 C:\php_dev\Formulaire\application\default\controllers\IndexController.php(86)
    getFileSize() ainsi que getMimeType() ne sont pas reconnues...

    Il ne me manque que ça pour finaliser mon petit module d'upload ^^

    Vous voyez là où se situe le problème ?
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

  2. #2
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Bonjour,

    Quelle version du framework as-tu ?
    L'option useByteString et les méthodes getFileSize() et getMimeType() n'existent pas depuis longtemps... Avant il fallait utiliser la méthode getFileInfo().

  3. #3
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Par défaut
    La version 1.7 me semble-t-il.

    Mais vu que je ne suis pas au boulot, je ne peux pas vérifier :s
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

  4. #4
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Citation Envoyé par Deallyra Voir le message
    La version 1.7 me semble-t-il.

    Mais vu que je ne suis pas au boulot, je ne peux pas vérifier :s
    En fait, après parcours des docs, ces méthodes seraient apparues avec la version 1.7.5.

    Si tu as une version antérieure (ce qui est probablement le cas), soit tu la met à jour, soit tu utilises getFileInfo()

  5. #5
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Par défaut
    Merci ça passe le getFileInfo
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

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

Discussions similaires

  1. mysql: unknown option '-4'
    Par epeichette dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 23/10/2007, 15h00
  2. clustalW "unknown option /align"
    Par Jasmine80 dans le forum Bioinformatique
    Réponses: 9
    Dernier message: 22/10/2007, 09h23
  3. mysql: unknown option '--old-passwords'
    Par samira84 dans le forum Requêtes
    Réponses: 6
    Dernier message: 04/06/2007, 16h09
  4. mysqldump unknown option
    Par lamachine_fr dans le forum Administration
    Réponses: 9
    Dernier message: 26/03/2007, 17h12
  5. [Tcl/Tk] Unknown option "-type"
    Par Biosox dans le forum Tcl/Tk
    Réponses: 4
    Dernier message: 25/09/2006, 15h57

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