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

Класс Filesystem

Класс Filesystem входит в состав компонента symfony/filesystem и предоставляет набор методов для работы с файлами и директориями. Он избавляет от необходимости писать низкоуровневый код с fopen, mkdir, rename и другими функциями PHP. Методы класса автоматически создают промежуточные директории, проверяют существование файлов и выбрасывают исключения при ошибках.

Класс не имеет обязательных параметров конструктора, поэтому создаётся простым вызовом new Filesystem. Доступные методы: exists, mkdir, copy, rename, remove, mirror, dumpFile, appendToFile, readFile, touch, chmod, chown, chgrp, symlink, hardlink, readlink, makePathRelative, isAbsolutePath, tempnam и другие.

Синтаксис

<?php use Symfony\Component\Filesystem\Filesystem; $fs = new Filesystem(); ?>

Пример

Давайте создадим объект класса и проверим, существует ли файл 'article.txt':

<?php namespace App\Service; use Symfony\Component\Filesystem\Filesystem; class FileService { public function check(): void { $fs = new Filesystem(); $res = $fs->exists('article.txt'); var_dump($res); } } ?>

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

false

Пример

Давайте создадим директорию 'var/uploads' вместе со всеми промежуточными папками:

<?php namespace App\Service; use Symfony\Component\Filesystem\Filesystem; class FileService { public function createDir(): void { $fs = new Filesystem(); $fs->mkdir('var/uploads'); echo 'directory created'; } } ?>

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

"directory created"

Пример

Давайте запишем строку в файл 'var/data.txt' и затем прочитаем его содержимое:

<?php namespace App\Service; use Symfony\Component\Filesystem\Filesystem; class FileService { public function writeAndRead(): void { $fs = new Filesystem(); $fs->dumpFile('var/data.txt', 'hello'); $res = $fs->readFile('var/data.txt'); echo $res; } } ?>

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

"hello"

Пример

Давайте скопируем файл 'var/data.txt' в 'var/backup/data.txt':

<?php namespace App\Service; use Symfony\Component\Filesystem\Filesystem; class FileService { public function copyFile(): void { $fs = new Filesystem(); $fs->copy( 'var/data.txt', 'var/backup/data.txt' ); echo 'file copied'; } } ?>

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

"file copied"

Пример

Давайте удалим файл 'var/data.txt' и директорию 'var/backup':

<?php namespace App\Service; use Symfony\Component\Filesystem\Filesystem; class FileService { public function removeFiles(): void { $fs = new Filesystem(); $fs->remove([ 'var/data.txt', 'var/backup', ]); echo 'removed'; } } ?>

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

"removed"

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

  • метод exists,
    который проверяет существование файла или папки
  • метод mkdir,
    который создаёт директорию
  • метод copy,
    который копирует файл или директорию
  • метод remove,
    который удаляет файлы и директории
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить