Hoe kom je aan het pad naar de Laravel Storage-map?

Ik wil geüploade afbeeldingen naar mijn op Laravel gebaseerde web-app opslaan in een submap van de Laravel storage-map. Het is de directory op hetzelfde hiërarchieniveau als de directory’s ‘application’ en ‘public’.

Is er een raamwerkmethode om dit te doen? Ik heb de documenten doorzocht, maar kan er geen vinden.


Antwoord 1, autoriteit 100%

Gebruik voor Laravel 5.x $storage_path = storage_path().

Van de Laravel 5.0-documenten:

storage_path

Verkrijg het volledig gekwalificeerde pad naar de storagedirectory.

Houd er ook rekening mee dat, voor Laravel 5.1 en hoger, per de Laravel 5.1 documenten:

U kunt ook de functie storage_pathgebruiken om een ​​volledig gekwalificeerd pad naar een bepaald bestand te genereren ten opzichte van de opslagdirectory:

$path = storage_path('app/file.txt');

Antwoord 2, autoriteit 98%

Bel in Laravel 3 path('storage').

Gebruik in Laravel 4 het storage_path()helpfunctie.


Antwoord 3, autoriteit 40%

Voor Laravel-versie >=5.1

storage_path()

De functie storage_pathretourneert het volledig gekwalificeerde pad naar de opslagdirectory:

$path = storage_path();

U kunt ook de functie storage_pathgebruiken om een ​​volledig gekwalificeerd pad naar een bepaald bestand te genereren ten opzichte van de opslagdirectory:

$app_path = storage_path('app');
$file_path = storage_path('app/file.txt');

Bron:Laravel Doc


Antwoord 4, autoriteit 5%

gebruik deze artisan-opdracht om een ​​snelkoppeling in de openbare map te maken

php artisan storage:link

Dan heb je toegang tot de geplaatste img of het bestand


Antwoord 5

Je kunt de functie storage_path();gebruiken om het pad van de opslagmap te krijgen.

storage_path(); // Return path like: laravel_app\storage

Stel dat u uw logbestand mylog.logwilt opslaan in de logmap van de opslagmap. Je moet iets schrijven als

storage_path() . '/LogFolder/mylog.log'


Antwoord 6

Laravel 8.x <

Als het bestand op een standaardschijf: /storage/app/public/file.jpg, dan:

$path = Storage::path('file.jpg');

als het bestand zich in een andere opslag bevindt. Bijvoorbeeld: /storage/app/storage-dir/sub-dir/file.txt

Storage::disk('storage-dir')->path('sub-dir/file.txt')

En het $pad wordt “/var/www/project1/storage/app/storage-dir/sub-dir/file.txt”

Er zijn ook url()

$path = Storage::disk('storage-dir')->url('sub-dir/file.txt');

Hiermee wordt het pad geretourneerd zoals: /storage/sub-dir/file.txt

Voor de eerdere Laravel-versies:
storage_path('app/file.txt');

Other episodes