Полный цикл в digital

Методы фасада Storage

При использовании драйвера local все файловые операции выполняются относительно директории root, определенной в конфигурационном файле. Для диска local директория root — это storage/app, для диска public директория root — это storage/app/public.

// файл будет сохранен в storage/app/data/file.txt
Storage::disk('local')->put('data/file.txt', 'Some file content');

При вызове метода фасада Storage без предварительного вызова метода disk() — вызов будет автоматически передан диску по умолчанию.

// файл будет сохранен в storage/app/images/image.jpg
Storage::put('images/image.jpg', $contents); // содержимое файла
// файл будет сохранен в storage/app/images/image.jpg
Storage::put('images/image.jpg', $resource); // php-ресурс файла
// файл будет сохранен в storage/app/images/image.jpg
Storage::put('images/image.jpg', $resource); // php-ресурс файла

Метод putFile() помещает содержимое указанного файла в виде экземпляра класса Illuminate\Http\File или Illuminate\Http\UploadedFile в указанный каталог, но с возложением контроля над всей потоковой обработкой и формированием уникального имени файла на Laravel. Метод возвращает путь к файлу, включая сформированное имя.

// автоматическое формирование уникального имени, файл будет сохранен как storage/app/images/L6ceLZQtmzvtR5lYEMqViu8BB8Fta8sWiD0xzXFw.jpeg
Storage::disk('local')->putFile('images', new File('/path/to/photo'));
// вручную указываем имя для, файл будет сохранен как storage/app/images/photo.jpg
Storage::disk('local')->putFileAs('images', new File('/path/to/photo'), 'photo.jpg');

Методом get() можно получать содержимое файла. Он возвращает сырую строку содержимого файла.

$contents = Storage::get('images/image.jpg');

Методом exists() можно определить существование файла на диске:

$exists = Storage::exists('image.jpg');

Метод url() позволяет получить URL файла. При использовании диска local будет возвращён URL вида /storage/images/image.jpg. При использовании диска public будет возвращён полный URL, домен сайта будет получен из .env-файла в корне проекта, это настройка APP_URL.

// возвращает URL /storage/images/image.jpg
$url = Storage::disk('local')->url('images/image.jpg');
// возвращает URL http://server.com/images/image.jpg
$url = Storage::disk('public')->url('images/image.jpg');

Метод size() позволяет получить размер файла в байтах:

$size = Storage::size('images/image.jpg');

Метод copy() копирует файл, метод move() перемещает файл:

Storage::copy('images/old-image.jpg', 'images/new-image.jpg');
Storage::move('images/old-image.jpg', 'images/new-image.jpg');

Метод prepend() добавляет содержимое в начало файла, метод append() добавляет содержимое в конец файла:

Storage::prepend('logs/some.log', 'Some log text');
Storage::append('logs/some.log', 'Some log text');

Метод delete() удаляет указанный файл:

Storage::delete('images/image.jpg');

Метод files() возвращает массив имен файлов в указанной директории. А метод allFiles() — массив имен файлов в указанной директории и во всех поддиректориях.

Метод directories() возвращает массив имен директорий в указанной директории. А метод allDirectories() — массив имен директорий в указанной директории и во всех поддиректориях.

Метод makeDirectory() создает новую директорию, а метод deleteDirectory() удаляет указанную директорию.

Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг