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

Метод storePublicly

Метод storePublicly трейта WithFileUploads сохраняет загруженный файл в публичное хранилище Laravel. Он принимает путь для сохранения, а также опционально имя диска и возвращает относительный путь к сохранённому файлу.

Синтаксис

<?php $path = $file->storePublicly($path, $disk); ?>

Параметр $path определяет директорию для сохранения файла, параметр $disk опционально задаёт название диска. По умолчанию используется диск public.

Пример

Давайте загрузим файл и сохраним его в папку uploads:

<?php namespace AppLivewire; use LivewireComponent; use LivewireWithFileUploads; class FileUpload extends Component { use WithFileUploads; public $file; public function save() { $path = $this->file->storePublicly('uploads'); dump($path); } public function render() { return view('livewire.file-upload'); } } ?>
<form wire:submit.prevent="save"> <input type="file" wire:model="file"> <button type="submit">Upload</button> </form>

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

"uploads/example.jpg"

Пример

Сохраним файл с указанием конкретного диска:

<?php namespace AppLivewire; use LivewireComponent; use LivewireWithFileUploads; class FileUpload extends Component { use WithFileUploads; public $file; public function save() { $path = $this->file->storePublicly('uploads', 's3'); dump($path); } public function render() { return view('livewire.file-upload'); } } ?>
<form wire:submit.prevent="save"> <input type="file" wire:model="file"> <button type="submit">Upload</button> </form>

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

"uploads/example.jpg"

Пример

Метод storePublicly автоматически генерирует уникальное имя файла, чтобы избежать конфликтов:

<?php namespace AppLivewire; use LivewireComponent; use LivewireWithFileUploads; class FileUpload extends Component { use WithFileUploads; public $file; public function save() { $path = $this->file->storePublicly('uploads'); dump($path); } public function render() { return view('livewire.file-upload'); } } ?>
<form wire:submit.prevent="save"> <input type="file" wire:model="file"> <button type="submit">Upload</button> </form>

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

"uploads/8cX6qk7t9lM3dF1p.jpg"

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

  • трейт WithFileUploads,
    который добавляет возможности работы с файлами
  • метод store,
    который сохраняет файл в приватное хранилище
  • метод storeAs,
    который сохраняет файл с указанным именем
  • директиву wire:model для загрузки файлов,
    которая связывает поле ввода с файловым свойством
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить