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

Метод putFileAs

Метод putFileAs применяется к фасаду Storage и позволяет сохранить загруженный файл в указанную директорию, задавая при этом произвольное имя для сохраняемого файла. Первым параметром передаётся путь к директории, вторым - экземпляр класса UploadedFile или содержимое файла, третьим - желаемое имя файла. Четвёртым параметром можно передать опции для настройки видимости (public или private).

Синтаксис

<?php Storage::putFileAs($directory, $file, $name, $options); ?>

Пример

Сохраним загруженный файл с именем, которое мы сами укажем, в директорию 'avatars':

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Storage; class UserController extends Controller { public function uploadAvatar(Request $request) { $file = $request->file('avatar'); $path = Storage::putFileAs('avatars', $file, 'user_avatar.jpg'); echo $path; } } ?>

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

"avatars/user_avatar.jpg"

Пример

Создадим уникальное имя файла с помощью хеширования и сохраним его в директорию 'photos':

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Storage; class PhotoController extends Controller { public function store(Request $request) { $file = $request->file('photo'); $name = $file->hashName(); $path = Storage::putFileAs('photos', $file, $name); echo $path; } } ?>

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

"photos/1a2b3c4d5e6f7g8h9i0j.jpg"

Пример

Сохраним файл с публичным доступом, указав опцию 'public' в четвёртом параметре:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Storage; class FileController extends Controller { public function uploadPublic(Request $request) { $file = $request->file('document'); $path = Storage::putFileAs('documents', $file, 'report.pdf', 'public'); echo $path; } } ?>

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

"documents/report.pdf"

Пример

Используем метод с содержимым файла в виде строки вместо загруженного файла:

<?php namespace App\Http\Controllers; use Illuminate\Support\Facades\Storage; class ContentController extends Controller { public function saveContent() { $content = 'This is the content of the file'; $path = Storage::putFileAs('texts', $content, 'note.txt'); echo $path; } } ?>

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

"texts/note.txt"

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

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