Метод path
Метод path класса Storage возвращает абсолютный путь к файлу
в выбранной файловой системе. В качестве первого параметра метод
принимает путь к файлу относительно корня диска. Метод полезен,
когда необходимо получить полный путь к файлу для использования
с другими функциями PHP, например, для работы с файловой системой
напрямую.
Синтаксис
<?php
Storage::path($path);
?>
Пример
Давайте получим полный путь к файлу 'images/photo.jpg'
в хранилище по умолчанию:
<?php
use Illuminate\Support\Facades\Storage;
$path = Storage::path('images/photo.jpg');
echo $path;
?>
Результат выполнения кода:
"/var/www/html/storage/app/images/photo.jpg"
Пример
Получим путь к файлу в конкретном диске, например, в диске 'public':
<?php
use Illuminate\Support\Facades\Storage;
$path = Storage::disk('public')->path('documents/report.pdf');
echo $path;
?>
Результат выполнения кода:
"/var/www/html/storage/app/public/documents/report.pdf"
Пример
Используем полученный путь для проверки существования файла
с помощью встроенной PHP-функции file_exists:
<?php
use Illuminate\Support\Facades\Storage;
$path = Storage::path('data/config.json');
if (file_exists($path)) {
echo 'File exists at: ' . $path;
} else {
echo 'File not found';
}
?>
Результат выполнения кода:
"File exists at: /var/www/html/storage/app/data/config.json"
Пример
Получим путь к файлу и используем его для чтения содержимого
с помощью PHP-функции file_get_contents:
<?php
use Illuminate\Support\Facades\Storage;
$path = Storage::path('logs/access.log');
if (file_exists($path)) {
$content = file_get_contents($path);
echo $content;
}
?>
Результат выполнения кода:
"Log entry 1
Log entry 2
Log entry 3"
Смотрите также
-
метод
exists,
который проверяет существование файла -
метод
url,
который возвращает публичный URL файла -
метод
get,
который возвращает содержимое файла -
функция
storage_path,
которая возвращает путь к директории storage