Laravel France

Meilleur pratique constante path file

Avatar de StephaneMarry
StephaneMarry

Bonjour tout le monde et bonne année :)

J'ai un formulaire qui me permet de créer un projet et d'ajouter un fichier à ce projet. J'aimerais avoir une variable constante qui aurait le chemin du dossier qui contient mes fichiers uploadé.

Quelle est la meilleure pratique pour ça dans Laravel 8? Une variable d'environnement ? Merci pour votre aide :)

Posté il y a 3 mois
Avatar de belatechelamine
belatechelamine

il ya le fichier de configuration config/filesysteme.php il faut savoir qu'avec la methode store() ou storeAS() le fichier est uploader dan storage/app. donc il faut un lien symbolique ver publique pout y acceder avec asset(). person, moi j'ajoute un lecteur(publiqueRoot, dans l'exemple) situer dans publique et je change la variable default.

return [

/*
|--------------------------------------------------------------------------
| Default Filesystem Disk
|--------------------------------------------------------------------------
|
| Here you may specify the default filesystem disk that should be used
| by the framework. The "local" disk, as well as a variety of cloud
| based disks are available to your application. Just store away!
|
*/

'default' => env('FILESYSTEM_DRIVER', 'publicRoot'),

/*
|--------------------------------------------------------------------------
| Filesystem Disks
|--------------------------------------------------------------------------
|
| Here you may configure as many filesystem "disks" as you wish, and you
| may even configure multiple disks of the same driver. Defaults have
| been setup for each driver as an example of the required options.
|
| Supported Drivers: "local", "ftp", "sftp", "s3"
|
*/

'disks' => [

    'local' => [
        'driver' => 'local',
        'root' => storage_path('app'),
    ],

    'public' => [
        'driver' => 'local',
        'root' => storage_path('app/public'),
        'url' => env('APP_URL').'/storage',
        'visibility' => 'public',
    ],
    'publicRoot' => [
        'driver' => 'local',
        'root'   => public_path() . '/uploads',
        'url' => env('APP_URL').'/public',
        'visibility' => 'public',
    ],

    's3' => [
        'driver' => 's3',
        'key' => env('AWS_ACCESS_KEY_ID'),
        'secret' => env('AWS_SECRET_ACCESS_KEY'),
        'region' => env('AWS_DEFAULT_REGION'),
        'bucket' => env('AWS_BUCKET'),
        'url' => env('AWS_URL'),
        'endpoint' => env('AWS_ENDPOINT'),
    ],

],

/*
|--------------------------------------------------------------------------
| Symbolic Links
|--------------------------------------------------------------------------
|
| Here you may configure the symbolic links that will be created when the
| `storage:link` Artisan command is executed. The array keys should be
| the locations of the links and the values should be their targets.
|
*/

'links' => [
    public_path('storage') => storage_path('app/public'),
],

];

Posté il y a 3 mois
Avatar de StephaneMarry
StephaneMarry

Ok merci pour ton aide :) La actuellement j'upload mon fichier dans le dossier "app/public/uploads/informations".

Donc je devrais ajouter dans le bureau un autre tableau ?

'uploadMyFiles' => [
        'driver' => 'local',
        'root'   => public_path() . 'app/public/uploads/informations',
        'url' => env('APP_URL').'/myuploads',
        'visibility' => 'public',
    ],
Posté il y a 3 mois
Avatar de belatechelamine
belatechelamine

d'apres ce que j'ai compris t'es fichier seron normalement accessible depuis votre vue blade avec la la fonction {{ asset('app/public/uploads/informations/'.$nom_fichier) }} car asset revoi ver le dossier public.

Posté il y a 3 mois
Avatar de CinquièmeDimension
CinquièmeDimension

{{ asset('uploads/informations/'.$nom_fichier) }} plutôt, non ?

Posté il y a 3 mois

Vous ne pouvez pas répondre à ce sujet.