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

Symfony PHP Discussion :

nommé un fichier uploadé avec le nom du champ title


Sujet :

Symfony PHP

  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 394
    Points : 347
    Points
    347
    Par défaut nommé un fichier uploadé avec le nom du champ title
    Bonjour,

    J'ai suivi ce tuto :
    http://leny-bernard.com/fr/afficher/...fony2-partie-4

    Ces fonctions permettent d’enregistrer le fichier uploadé dans le dossier web/ uploads/movies/ avec un dossier nommé {{entity.id}}/ et le nom du fichier {{entity.picture}

    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
    public function getFullPicturePath() {
            return null === $this->picture ? null : $this->getUploadRootDir(). $this->picture;
        }
     
        protected function getUploadRootDir() {
            // the absolute directory path where uploaded documents should be saved
            return $this->getTmpUploadRootDir().$this->getId()."/";
        }
     
        protected function getTmpUploadRootDir() {
            // the absolute directory path where uploaded documents should be saved
            return __DIR__ . '/../../../../web/uploads/movies/';
        }
     
        /**
         * @ORM\PrePersist()
         * @ORM\PreUpdate()
         */
        public function uploadPicture() {
            // the file property can be empty if the field is not required
            if (null === $this->picture) {
                return;
            }
            if(!$this->id){
                $this->picture->move($this->getTmpUploadRootDir(), $this->picture->getClientOriginalName());
            }else{
                $this->picture->move($this->getUploadRootDir(), $this->picture->getClientOriginalName());
            }
            $this->setPicture($this->picture->getClientOriginalName());
        }
     
        /**
         * @ORM\PostPersist()
         */
        public function movePicture()
        {
            if (null === $this->picture) {
                return;
            }
            if(!is_dir($this->getUploadRootDir())){
                mkdir($this->getUploadRootDir());
            }
            copy($this->getTmpUploadRootDir().$this->picture, $this->getFullPicturePath());
            unlink($this->getTmpUploadRootDir().$this->picture);
        }
     
        /**
         * @ORM\PreRemove()
         */
        public function removePicture()
        {
            unlink($this->getFullPicturePath());
            rmdir($this->getUploadRootDir());
        }
    Quant a moi je voulais que le fichier soit enregistrer soit dans web/ uploads/movies/ qui portera un autre nom de {{ entity.title }}
    - tel que : title est le champ de saisie donné aux nom fichier lors de la sauvegarde !!

    en résumé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    tuto : /web/uploads/movies/{{entity.id}}/{{entity.picture}}
    mon but :  /web/uploads/movies/{{entity.title}}

    Quelqu'un peut m'aider à modifier le code ??

    Merci bcp !

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    n'utilise pas getClientOriginalName

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 394
    Points : 347
    Points
    347
    Par défaut
    je ne vois pas mais :S ce qui me dérange c'est que y a getTmpUploadRootDir() et getUploadRootDir(), mkdir est utilisé par getUploadRootDir() donc il faut le supprimer, celui qui crée le dossier {{ entity.id }} !!

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    tu comprends tout le code au moins ?

  5. #5
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 394
    Points : 347
    Points
    347
    Par défaut
    Non pas tout !! je suis un débutant en PHP objet !!

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par aitiahcene Voir le message
    Non pas tout !! je suis un débutant en PHP objet !!
    Commence par apprendre les bases de l'objet avant d’utiliser Symfony, sinon tu vas jamais t'en sortir

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/08/2013, 11h07
  2. fichier texte avec comme nom une variable
    Par olobo dans le forum Débuter
    Réponses: 4
    Dernier message: 04/01/2010, 15h55
  3. Réponses: 1
    Dernier message: 23/10/2009, 23h12
  4. Enregister un fichier word avec un nom par défaut
    Par filigane dans le forum Word
    Réponses: 1
    Dernier message: 26/09/2007, 14h44
  5. Supprimer fichier uploader avec aspSmartUpload
    Par julio_097 dans le forum ASP
    Réponses: 2
    Dernier message: 11/08/2005, 16h27

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