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

Класс File

Класс File в Laravel предоставляет удобный интерфейс для работы с файловой системой. Все методы класса являются статическими и позволяют выполнять такие операции, как чтение, запись, копирование, перемещение, удаление файлов, а также работу с директориями. Класс использует компонент Symfony Finder для расширенных операций поиска файлов. Методы класса возвращают различные типы данных в зависимости от выполняемой операции: строки, булевы значения, массивы или объекты.

Синтаксис

<?php use Illuminate\Support\Facades\File; File::methodName($arguments); ?>

Пример

Давайте получим содержимое файла в виде строки с помощью метода get:

<?php namespace App\Http\Controllers; use Illuminate\Support\Facades\File; class FileController extends Controller { public function index() { $path = base_path('composer.json'); $content = File::get($path); echo $content; } } ?>

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

"{\n \"name\": \"laravel/laravel\",\n \"type\": \"project\",\n ...

Пример

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

<?php namespace App\Http\Controllers; use Illuminate\Support\Facades\File; class FileController extends Controller { public function index() { $path = storage_path('logs/laravel.log'); $exists = File::exists($path); if ($exists) { echo "File exists"; } else { echo "File not found"; } } } ?>

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

"File exists"

Пример

Давайте запишем данные в файл методом put:

<?php namespace App\Http\Controllers; use Illuminate\Support\Facades\File; class FileController extends Controller { public function index() { $path = storage_path('app/data.txt'); $data = "Hello, Laravel!"; $bytes = File::put($path, $data); echo "Written $bytes bytes"; } } ?>

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

"Written 16 bytes"

Пример

Давайте скопируем файл с помощью метода copy:

<?php namespace App\Http\Controllers; use Illuminate\Support\Facades\File; class FileController extends Controller { public function index() { $source = storage_path('app/data.txt'); $destination = storage_path('app/data_backup.txt'); $copied = File::copy($source, $destination); if ($copied) { echo "File copied successfully"; } } } ?>

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

"File copied successfully"

Пример

Давайте удалим файл методом delete:

<?php namespace App\Http\Controllers; use Illuminate\Support\Facades\File; class FileController extends Controller { public function index() { $path = storage_path('app/data_backup.txt'); $deleted = File::delete($path); if ($deleted) { echo "File deleted successfully"; } } } ?>

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

"File deleted successfully"

Пример

Давайте получим массив всех файлов в директории с помощью метода files:

<?php namespace App\Http\Controllers; use Illuminate\Support\Facades\File; class FileController extends Controller { public function index() { $path = storage_path('app'); $files = File::files($path); foreach ($files as $file) { echo $file->getFilename() . "\n"; } } } ?>

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

"data.txt" "data_backup.txt" "logs.txt"

Пример

Давайте создадим директорию методом makeDirectory:

<?php namespace App\Http\Controllers; use Illuminate\Support\Facades\File; class FileController extends Controller { public function index() { $path = storage_path('app/new_folder'); $created = File::makeDirectory($path, 0755, true); if ($created) { echo "Directory created successfully"; } } } ?>

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

"Directory created successfully"

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

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