Skip to content

ArrisFramework/Arris.Entity.File

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Arris.Entity.File

File Entity type for Arris µFramework. Simple OOP File wrapper.

Класс File предоставляет объектно-ориентированный интерфейс для работы с файлами в PHP. Он инкапсулирует основные операции с файлами, такие как чтение, запись, перемещение, копирование, а также предоставляет информацию о файле (размер, MIME-тип, время изменения, etc).

Константы режимов открытия файла

  • FM_READ ('r') - только для чтения
  • FM_RW ('r+') - для чтения и записи
  • FM_WRITE ('w+') - для записи (создает файл если не существует, обрезает существующий)
  • FM_APPEND ('a+') - для добавления (создает файл если не существует)
  • FM_CREATE ('c+') - для записи (создает файл если не существует, не обрезает существующий)

Основные методы

__construct(string $path, bool $force_open = false)

Конструктор класса.

Параметры:

  • $path - путь к файлу
  • $force_open - открыть файл сразу после создания объекта

Исключения:

  • FileException - другие ошибки работы с файлом

open(string $mode = self::FM_APPEND): self

Открывает файл, создавая файловый хэндлер.

Параметры:

  • $mode - режим открытия (используйте константы класса)

Возвращает:

  • self - текущий объект для цепочки вызовов

getContent(int $position = 0, ?int $length = null): string

Получить содержимое файла.

Параметры:

  • $position - позиция начала чтения
  • $length - количество байт для чтения (null - до конца файла)

Возвращает:

  • string - содержимое файла

Исключения:

  • FileException - если не удалось прочитать файл

putContent(string $content, int $flag = 0): int

Записать содержимое в файл.

Параметры:

  • $content - данные для записи
  • $flag - флаги (например, FILE_APPEND)

Возвращает:

  • int - количество записанных байт

Исключения:

  • FileException - если не удалось записать в файл

close(bool $just_in_case = true): self

Закрывает файловый хэндлер.

Параметры:

  • $just_in_case - если true, не вызывает исключение если файл не открыт

Возвращает:

  • self - текущий объект для цепочки вызовов

Исключения:

  • FileException - если файл не открыт и $just_in_case = false

delete(bool $just_in_case = true): bool

Удалить файл.

Параметры:

  • $just_in_case - если true, не вызывает исключение если файл не существует

Возвращает:

  • bool - true в случае успеха

Исключения:

  • FileException - если не удалось удалить файл и $just_in_case = false

truncate(int $size = 0): bool

Урезает файл до указанной длины.

Параметры:

  • $size - новый размер файла

Возвращает:

  • bool - true в случае успеха

Исключения:

  • FileException - при ошибках

move(string $newPath): bool

Перемещает файл.

Параметры:

  • $newPath - новый путь

Возвращает:

  • bool - true в случае успеха

Исключения:

  • FileException - при ошибках

copy(string $targetPath): self

Копирует файл.

Параметры:

  • $targetPath - путь назначения

Возвращает:

  • self - новый объект File для скопированного файла

Исключения:

  • FileException - если не удалось скопировать

Методы получения информации о файле

getExtension(): string

Получить расширение файла (без точки).

getFilename(): string

Получить имя файла (без пути).

getFilenameWithoutExtension(): string

Получить имя файла без расширения.

getDirectory(): string

Получить путь к директории файла.

getSize(): int

Получить размер файла в байтах.

getLength(): int

Алиас для getSize().

getMimeType(): string

Получить MIME-тип файла.

getLastModifiedTime(): int

Получить время последнего изменения файла (timestamp).

getHash(string $algorithm = 'sha256'): string

Получить хэш файла.

getPath(): string

Получить путь к файлу.

getFileOwner(): array

Возвращает UID и GID владельца файла.

Методы проверки

isReadable(): bool

Проверить, является ли файл читаемым.

isWritable(): bool

Проверить, является ли файл записываемым.

isExecutable(): bool

Проверить, является ли файл исполняемым.

isLink(): bool

Проверить, является ли файл символической ссылкой.

isImage(): bool

Проверить, является ли файл изображением.

isVideo(): bool

Проверить, является ли файл видео.

exists(): bool

Проверить существование файла.

Статические методы

create(string $path, string $content = ''): self

Создать новый файл.

createTemp(string $prefix = '', string $content = ''): self

Создает новый временный файл.

match(string $pattern, string $test, int $flags): bool

Проверяет, совпадает ли строка с шаблоном (использует fnmatch).

Вспомогательные методы

writeFromPosition(string $content, int $position): int

Записывает данные в файл с указанной позиции.

readFromPosition(int $position = 0, ?int $length = null): string

Читает данные из файла с указанной позиции.

About

File Entity type for Arris µFramework

Resources

Stars

Watchers

Forks

Packages

No packages published