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

Метод touch

Метод touch класса Filesystem создаёт файл по указанному пути, если такого файла ещё нет. Если файл уже существует, метод обновляет время его последнего изменения (mtime) и время последнего доступа (atime). Первым параметром передаётся путь к файлу, вторым - необязательное время изменения в формате Unix timestamp. Если файл успешно создан или обновлён, метод возвращает true, иначе выбрасывает исключение IOException.

Синтаксис

public function touch(string $filename, ?int $time = null, ?int $atime = null): bool

Пример

Давайте создадим новый файл 'article.txt' в директории 'var/':

<?php namespace AppService; use SymfonyComponentFilesystemFilesystem; use SymfonyComponentFilesystemExceptionIOException; class FileService { public function createFile(): bool { $fs = new Filesystem(); $res = $fs->touch('var/article.txt'); return $res; } } ?>

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

true

Пример

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

<?php namespace AppService; use SymfonyComponentFilesystemFilesystem; class FileService { public function checkFile(): bool { $fs = new Filesystem(); $fs->touch('var/article.txt'); return $fs->exists('var/article.txt'); } } ?>

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

true

Пример

Давайте обновим время изменения существующего файла, передав вторым параметром конкретный timestamp:

<?php namespace AppService; use SymfonyComponentFilesystemFilesystem; class FileService { public function updateTime(): bool { $fs = new Filesystem(); $time = strtotime('2024-01-01 00:00:00'); return $fs->touch('var/article.txt', $time); } } ?>

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

true

Пример

Давайте обработаем ситуацию, когда файл невозможно создать, поймав исключение IOException:

<?php namespace AppService; use SymfonyComponentFilesystemFilesystem; use SymfonyComponentFilesystemExceptionIOException; class FileService { public function safeTouch(): string { $fs = new Filesystem(); try { $fs->touch('var/article.txt'); return 'file created'; } catch (IOException $e) { return 'error: ' . $e->getMessage(); } } } ?>

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

"file created"

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

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