Bonjour, je souhaite uploader des images sur le serveur et enregistrer le chemin dans la bdd.

                $image_name=$img_uploader->imgCharge($image);
                $directory = $img_uploader->getTargetDirectory();
                $directory = $pathHelpers->getApplicationRootDir();
                $directory = $this->getParameter('kernel.project_dir');
                $full_path = $directory.'/'.$image_name;
                $famille->setImageRep($full_path);

j'aimerais que le chemin enregistré ($directory) soit le chemin relatif à la racine du projet .
Mais avec ce code j'obtiens le chemin absolu sur mon poste (depuis C:)

Quelles sont les méthodes possibles pour récupérer le chemin relatif ?

3 réponses


MofoGasy
Auteur

up,
quelqu'un a une bonne pratique ?
J'aurai 3 sous dossiers différents pour stocker les images.

Comment configurer correctement les chemins ? Où les positionner ?
Comment les appeller dans le php ?
Comment renvoyer correctement les images dans le src de <img>?

Hello, alors au lieux de passer par le directory, tu peux utiliser l'url vers ton image et non ton directory

Par exemple si ton image est dans le dossier public/images/images.png il faudrait que tu récupère ton url pour avoir 127.0.0.1/public/images/image.png (ou 127.0.0.1/images/image.png si tu configure le path pour les assets)

Après pour récupérer l'url soit tu le fait toi même soit l'image uploader a une fonction pour ça, c'est quelle librairie $imageUploader?

Après sur symfo t'as symfony-assets pour récupéer l'image avec getUrl https://symfony.com/doc/current/components/asset.html

MofoGasy
Auteur

ok merci, j'essaie cette méthode