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

Метод size

Метод size класса Finder фильтрует файлы по их размеру. Первым параметром передаётся оператор сравнения в виде строки: '<', '<=', '>', '>=', '==', '!='. Вторым параметром передаётся размер в байтах. Метод возвращает объект Finder, что позволяет выстраивать цепочку вызовов.

Синтаксис

public function size(string $operator, int|string $size): static

Пример

Давайте найдём все файлы размером больше 100 байт в директории 'src':

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Finder\Finder; class FinderController extends AbstractController { public function index(): Response { $finder = new Finder(); $finder->files()->in('src')->size('>', 100); $res = []; foreach ($finder as $file) { $res[] = $file->getFilename(); } return new Response(implode(', ', $res)); } } ?>

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

ArticleController.php, FinderController.php

Пример

Давайте найдём файлы, размер которых меньше или равен 50 байтам:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Finder\Finder; class FinderController extends AbstractController { public function index(): Response { $finder = new Finder(); $finder->files()->in('src')->size('<=', 50); $res = []; foreach ($finder as $file) { $res[] = $file->getFilename(); } return new Response(implode(', ', $res)); } } ?>

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

"hello.php"

Пример

Давайте найдём все файлы, размер которых точно равен 1024 байтам:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Finder\Finder; class FinderController extends AbstractController { public function index(): Response { $finder = new Finder(); $finder->files()->in('src')->size('==', 1024); $res = []; foreach ($finder as $file) { $res[] = $file->getFilename(); } return new Response(implode(', ', $res)); } } ?>

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

"article.php"

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

  • класс Finder,
    который выполняет поиск файлов и директорий
  • метод files,
    который ограничивает поиск только файлами
  • метод name,
    который фильтрует файлы по имени
  • метод filter,
    который фильтрует файлы по произвольному условию
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить