РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
768 of 1392 menu

Класс Storage

Класс Storage в Laravel является фасадом для работы с файловыми системами. Он предоставляет унифицированный API для выполнения операций с файлами и директориями, абстрагируя разработчика от конкретной реализации драйвера хранения. Класс поддерживает такие драйверы, как local, public, s3, ftp и другие, которые настраиваются в конфигурационном файле config/filesystems.php.

Основное преимущество использования Storage заключается в возможности переключения между различными хранилищами без изменения кода приложения. Для большинства методов первым параметром передаётся путь к файлу относительно корня диска, вторым - данные или опции.

Синтаксис

<?php use Illuminate\Support\Facades\Storage; // Получение экземпляра диска Storage::disk($name); // Основные операции с файлами Storage::put($path, $contents); Storage::get($path); Storage::exists($path); Storage::delete($path); ?>

Пример

Давайте запишем текст в файл example.txt в директории storage/app:

<?php namespace App\Http\Controllers; use Illuminate\Support\Facades\Storage; class FileController extends Controller { public function store() { $res = Storage::put('example.txt', 'Hello, world!'); echo $res; } } ?>

Результат выполнения кода:

"true"

Метод put возвращает true при успешной записи и false в случае ошибки.

Пример

Давайте прочитаем содержимое файла example.txt:

<?php namespace App\Http\Controllers; use Illuminate\Support\Facades\Storage; class FileController extends Controller { public function read() { if (Storage::exists('example.txt')) { $res = Storage::get('example.txt'); echo $res; } else { echo 'File not found'; } } } ?>

Результат выполнения кода:

"Hello, world!"

Пример

Давайте проверим существование файла и удалим его:

<?php namespace App\Http\Controllers; use Illuminate\Support\Facades\Storage; class FileController extends Controller { public function delete() { if (Storage::exists('example.txt')) { $res = Storage::delete('example.txt'); echo $res; } else { echo 'File not found'; } } } ?>

Результат выполнения кода:

"true"

Метод delete возвращает true при успешном удалении и false в противном случае. Для удаления нескольких файлов можно передать массив путей.

Смотрите также

  • класс Storage::put,
    который записывает содержимое в файл
  • класс Storage::get,
    который получает содержимое файла
  • класс Storage::delete,
    который удаляет файл или директорию
  • класс Storage::disk,
    который переключается на указанный диск
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить