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

Класс File

Класс File является обёрткой над нативными функциями PHP для работы с файловой системой. Он позволяет получать информацию о файле, проверять его свойства и выполнять различные операции. Объект класса создаётся путём передачи пути к файлу в конструктор.

Синтаксис

<?php use Symfony\Component\HttpFoundation\File\File; $file = new File(string $path, bool $checkPath = true); ?>

Пример

Давайте создадим объект File и получим имя файла:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; use Symfony\Component\HttpFoundation\File\File; class FileController extends AbstractController { #[Route('/file', name: 'file_index')] public function index(): Response { $file = new File('/var/www/html/article.txt'); return new Response($file->getFilename()); } } ?>

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

"article.txt"

Пример

Давайте проверим, является ли объект файлом, и получим его размер:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; use Symfony\Component\HttpFoundation\File\File; class FileController extends AbstractController { #[Route('/file-info', name: 'file_info')] public function info(): Response { $file = new File('/var/www/html/article.txt'); if ($file->isFile()) { return new Response('Size: ' . $file->getSize()); } return new Response('Not a file'); } } ?>

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

"Size: 1024"

Пример

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

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; use Symfony\Component\HttpFoundation\File\File; class FileController extends AbstractController { #[Route('/file-move', name: 'file_move')] public function move(): Response { $file = new File('/var/www/html/article.txt'); $movedFile = $file->move('/var/www/html/uploads'); return new Response($movedFile->getPathname()); } } ?>

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

"/var/www/html/uploads/article.txt"

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

  • метод getMimeType,
    который возвращает MIME-тип файла
  • метод guessExtension,
    который угадывает расширение файла
  • метод move,
    который перемещает файл в другую директорию
  • класс UploadedFile,
    который представляет загруженный файл
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить