Certaines situations demandent à ce qu'on travaille avec un chemin physique plutôt qu'avec un URL.
Il faut éviter à tout prix de travailler avec un chemin absolu (ex : C:\Users\VotreNom\CodeLaravel\monprojet\public). Ceci rendrait le code invalide dès que le site serait mis en ligne.
Les fonctions suivantes permettent de retrouver les principaux chemins.
J'ai indiqué pour chacune les valeurs retournées sur un site en développement dans Homestead.
Pour chacune de ces fonctions, il est possible de passer en paramètre un nom de fichier avec ou sans chemin relatif. Ceci créera un chemin complet en prenant soin d'ajouter un « / » (ou « \ » sous Windows) avant le paramètre.
$cheminComplet = storage_path('sousdossier' . DIRECTORY_SEPARATOR . 'archive.pdf'); // /home/vagrant/code/monprojet/storage/sousdossier/archive.pdf
Notez l'utilisation de la constante DIRECTORY_SEPARATOR qui assurera que le chemin utilise une barre oblique inverse (\) sous Windows et une barre oblique (/) sous Mac ou Linux.
« Helper functions - paths ». Laravel. https://laravel.com/docs/master/helpers#paths
▼Publicité