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 :

chargement d'image multiple + erreur "images_directory"


Sujet :

Symfony PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2019
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2019
    Messages : 80
    Points : 63
    Points
    63
    Par défaut chargement d'image multiple + erreur "images_directory"
    Salut, je cherche à afficher plusieurs images pour mon entités Site relier à Media(pour photo)
    Dans SiteType.php, j'ai ajouté
    :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ->add('site', FileType::class, [
    'label' => false,
    'multiple' => true,
    'mapped' =>false,
    'required' => false
    ])
    Dans mon SiteController j'ai ajouté
    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
    if ($form->isSubmitted() && $form->isValid()) {
    //on recupère les medias transmises
    $media = $form->get('site')->getData();
    //on boucle sur les medias
    foreach($media as $medi){
    //on génère un nouveau nom de fichier
    $fichier = md5(uniqid()) . '.' . $medi->guessExtension();
    //on copie le fichier dans le dossier img
    $medi->move(
    $this->getParameter('images_directory'),
    $fichier
    );
    //on stocke l'image dans la bdd
    $img = new Media();
    $img->setNom($fichier);
    $site->addMedium($img);

    J'ai modifié le sevice.yaml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    images_directory: '%kernel.project_dir%/public/uploads/images
    parameters:

    Et j'ai cette erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    The parameter "images_directory" must be defined
    Je ne sais pas quoi faire. J'ai cherché sur google sans trop de résultat. Merci

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Points : 1 220
    Points
    1 220
    Par défaut
    bonjour,

    t'as sûrement oublié un quote( ' ) à la fin de la chaîne de caractères.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    parameters:
     
        images_directory: '%kernel.project_dir%/public/uploads/images'
    Une autre solution consiste à récupérer le chemin courant du projet depuis l'action du controller en passant à cette dernière KernelInterface $kernel comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    //SiteController.php
    use Symfony\Component\HttpKernel\KernelInterface;
     
     
        public function upload( KernelInterface $kernel): Response
        {
     
           $imagesDir = $kernel->getProjectDir().'/public/uploads/images'; // equivalent à $this->getParameter('images_directory')
           dump($imagesDir) ;
            return $this->render(...);
        }

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2019
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2019
    Messages : 80
    Points : 63
    Points
    63
    Par défaut Trop fort Merci!!
    Super Merci beaucoup, du coup avec cette fonction ca marche, mais pas l'un sans l'autre.
    J'ai bien les photos qui se chargent dans le fichier uploads et dans la BDD phpmyadmin.


  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Points : 1 220
    Points
    1 220
    Par défaut
    bah de rien.


    J'ai bien les photos qui se chargent dans le fichier uploads et dans la BDD phpmyadmin.
    Est-ce que tu appelles les méthodes persit() et flush() de doctrine?

    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
     
     
      if ($form->isSubmitted() && $form->isValid()) {
        //on recupère les medias transmises
        $media = $form->get('site')->getData();
       //on boucle sur les medias
      foreach($media as $medi){
         //on génère un nouveau nom de fichier
        $fichier = md5(uniqid()) . '.' . $medi->guessExtension();
       //on copie le fichier dans le dossier img
       $medi->move(
       $this->getParameter('images_directory'),
       $fichier
       );
      //on stocke l'image dans la bdd
      $img = new Media();
      $img->setNom($fichier);
      $site->addMedium($img);
     
      $entityManager = $this->getDoctrine()->getManager();
     
      $entityManager->persist($site);
      $entityManager->persist($image);//
     
      $entityManager->flush();
     
    //...
     }//for
    }//if

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2019
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2019
    Messages : 80
    Points : 63
    Points
    63
    Par défaut icone image sans vrai image
    Salut j'arrive presque à afficher mes images dans mes twig show.html.twig et edit.html.twig de site. Symfony trouve bien les 4 images du site mais me les affiche avec une icone+ image sans la vrai image.
    Dans show j'ai :
    Code twig : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    {% for image in site.media %}
        <div>
            <img src="{{ asset('/uploads/' ~ site.id)}}" alt="Image" width="150px" heigth="160">
        </div>
    {% endfor %}
    dans _form.html.twig, j'ai :
    Code twig : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        {% if app.request.attributes.get('_route') == 'site_edit' %}
            <h2>Images</h2>
            {% for image in site.media %}
                <div>
                    <img src="{{ asset('/uploads/' ~ site.nom) }}" alt="image" width="150">
                    {# <a href="{{ path('siteDeleteImage', {'id':site.id}) }}" data-dlete data-token="{{csrf_token('delete' ~ site.id )}}">Supprimer</a> #}
                </div>
            {% endfor %}
        {% endif %}

    Auriez-vous une idée? Merci

Discussions similaires

  1. [CKEditor] probleme d'image; ajout de quot lors d'insertion d'image
    Par dedel53 dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 28/10/2007, 00h05
  2. Export requete texte -> Excel : erreur quote
    Par Sam 069 dans le forum VBA Access
    Réponses: 1
    Dernier message: 18/07/2007, 15h27
  3. Réponses: 8
    Dernier message: 15/10/2006, 18h45
  4. Modification d'un texte dans une fenetre "d'erreur"
    Par PAUL87 dans le forum Access
    Réponses: 8
    Dernier message: 21/10/2005, 13h12

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