PHPackages                             karelwintersky/arris.entity.file - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [File &amp; Storage](/categories/file-storage)
4. /
5. karelwintersky/arris.entity.file

ActiveLibrary[File &amp; Storage](/categories/file-storage)

karelwintersky/arris.entity.file
================================

File Entity type for Arris µFramework

0.99.9(10mo ago)02MITPHPPHP ^8.2

Since Jul 1Pushed 10mo agoCompare

[ Source](https://github.com/ArrisFramework/Arris.Entity.File)[ Packagist](https://packagist.org/packages/karelwintersky/arris.entity.file)[ RSS](/packages/karelwintersky-arrisentityfile/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (1)Versions (2)Used By (0)

Arris.Entity.File
=================

[](#arrisentityfile)

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)`

[](#__constructstring-path-bool-force_open--false)

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

**Параметры:**

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

**Исключения:**

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

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

[](#openstring-mode--selffm_append-self)

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

**Параметры:**

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

**Возвращает:**

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

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

[](#getcontentint-position--0-int-length--null-string)

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

**Параметры:**

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

**Возвращает:**

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

**Исключения:**

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

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

[](#putcontentstring-content-int-flag--0-int)

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

**Параметры:**

- `$content` - данные для записи
- `$flag` - флаги (например, FILE\_APPEND)

**Возвращает:**

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

**Исключения:**

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

### `close(bool $just_in_case = true): self`

[](#closebool-just_in_case--true-self)

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

**Параметры:**

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

**Возвращает:**

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

**Исключения:**

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

### `delete(bool $just_in_case = true): bool`

[](#deletebool-just_in_case--true-bool)

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

**Параметры:**

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

**Возвращает:**

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

**Исключения:**

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

### `truncate(int $size = 0): bool`

[](#truncateint-size--0-bool)

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

**Параметры:**

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

**Возвращает:**

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

**Исключения:**

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

### `move(string $newPath): bool`

[](#movestring-newpath-bool)

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

**Параметры:**

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

**Возвращает:**

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

**Исключения:**

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

### `copy(string $targetPath): self`

[](#copystring-targetpath-self)

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

**Параметры:**

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

**Возвращает:**

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

**Исключения:**

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

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

[](#методы-получения-информации-о-файле)

### `getExtension(): string`

[](#getextension-string)

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

### `getFilename(): string`

[](#getfilename-string)

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

### `getFilenameWithoutExtension(): string`

[](#getfilenamewithoutextension-string)

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

### `getDirectory(): string`

[](#getdirectory-string)

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

### `getSize(): int`

[](#getsize-int)

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

### `getLength(): int`

[](#getlength-int)

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

### `getMimeType(): string`

[](#getmimetype-string)

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

### `getLastModifiedTime(): int`

[](#getlastmodifiedtime-int)

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

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

[](#gethashstring-algorithm--sha256-string)

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

### `getPath(): string`

[](#getpath-string)

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

### `getFileOwner(): array`

[](#getfileowner-array)

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

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

[](#методы-проверки)

### `isReadable(): bool`

[](#isreadable-bool)

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

### `isWritable(): bool`

[](#iswritable-bool)

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

### `isExecutable(): bool`

[](#isexecutable-bool)

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

### `isLink(): bool`

[](#islink-bool)

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

### `isImage(): bool`

[](#isimage-bool)

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

### `isVideo(): bool`

[](#isvideo-bool)

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

### `exists(): bool`

[](#exists-bool)

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

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

[](#статические-методы)

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

[](#createstring-path-string-content---self)

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

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

[](#createtempstring-prefix---string-content---self)

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

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

[](#matchstring-pattern-string-test-int-flags-bool)

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

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

[](#вспомогательные-методы)

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

[](#writefrompositionstring-content-int-position-int)

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

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

[](#readfrompositionint-position--0-int-length--null-string)

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

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance54

Moderate activity, may be stable

Popularity2

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity39

Early-stage or recently created project

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

313d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/2164874?v=4)[Karel Wintersky](/maintainers/KarelWintersky)[@KarelWintersky](https://github.com/KarelWintersky)

---

Tags

fileentity

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/karelwintersky-arrisentityfile/health.svg)

```
[![Health](https://phpackages.com/badges/karelwintersky-arrisentityfile/health.svg)](https://phpackages.com/packages/karelwintersky-arrisentityfile)
```

###  Alternatives

[league/flysystem

File storage abstraction for PHP

13.6k639.1M2.2k](/packages/league-flysystem)[league/flysystem-aws-s3-v3

AWS S3 filesystem adapter for Flysystem.

1.6k263.6M789](/packages/league-flysystem-aws-s3-v3)[knplabs/gaufrette

PHP library that provides a filesystem abstraction layer

2.5k39.8M123](/packages/knplabs-gaufrette)[knplabs/knp-gaufrette-bundle

Allows to easily use the Gaufrette library in a Symfony project

72528.6M91](/packages/knplabs-knp-gaufrette-bundle)[league/flysystem-local

Local filesystem adapter for Flysystem.

226231.8M39](/packages/league-flysystem-local)[league/flysystem-memory

In-memory filesystem adapter for Flysystem.

8533.6M194](/packages/league-flysystem-memory)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
