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
storage
directory.
Houd er ook rekening mee dat, voor Laravel 5.1 en hoger, per de Laravel 5.1 documenten:
U kunt ook de functie
storage_path
gebruiken 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_path
retourneert het volledig gekwalificeerde pad naar de opslagdirectory:
$path = storage_path();
U kunt ook de functie storage_path
gebruiken 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.log
wilt 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');