PHPackages                             faustvik/text-files - 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. faustvik/text-files

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

faustvik/text-files
===================

Library for working with text files and directory

v0.0.1(1y ago)03MITPHPPHP &gt;=8.1

Since Mar 5Pushed 1y ago1 watchersCompare

[ Source](https://github.com/FaustVik/text-files)[ Packagist](https://packagist.org/packages/faustvik/text-files)[ RSS](/packages/faustvik-text-files/feed)WikiDiscussions master Synced 1mo ago

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

Text file
=========

[](#text-file)

Описание
--------

[](#описание)

`text-files` — это мощная библиотека для работы с текстовыми файлами и CSV в PHP. Она предоставляет набор инструментов для управления директориями, файлами, чтения и записи данных, а также обработки CSV файлов. Библиотека включает удобные классы и методы для выполнения различных операций с файловой системой.

Основные возможности
--------------------

[](#основные-возможности)

### Управление директориями

[](#управление-директориями)

- Создание и удаление вложенных директорий.
- Сканирование директорий и получение информации о файлах.
- Проверка существования, доступности для чтения и записи файлов.

### Работа с файлами

[](#работа-с-файлами)

- Получение информации о файлах (имя, размер, расширение).
- Проверка доступности для чтения и записи.
- Блокировка и разблокировка файлов для безопасной многопоточной работы.

### Чтение и запись текстовых файлов

[](#чтение-и-запись-текстовых-файлов)

- Чтение файлов в массив строк или одну строку.
- Запись данных в файл (перезапись или добавление).
- Пропуск пустых строк при чтении.
- Преобразование массива данных в JSON перед записью.

### Обработка CSV файлов

[](#обработка-csv-файлов)

- Чтение и запись CSV файлов.
- Удаление столбцов и строк.
- Обновление заголовков.
- Поддержка различных кодировок и настроек CSV (разделители, экранирование и т.д.).

Установка
---------

[](#установка)

Для установки библиотеки используйте Composer:

```
composer require faustvik/text-files
```

Использование
-------------

[](#использование)

Работа с директориями

Создание вложенных директорий:

```
use FaustVik\Files\Helpers\Directory\DirectoryOperation;
$directoryPath = '/path/to/nested/directory';
DirectoryOperation::creatingNestedDirectories($directoryPath);
```

Удаление директории со всеми вложенными файлами и директориями:
php

```
use FaustVik\Files\Helpers\Directory\DirectoryOperation;
$directoryPath = '/path/to/nested/directory';
DirectoryOperation::deleteDir($directoryPath);
```

Получение содержимого директории:

```
use FaustVik\Files\Helpers\Directory\DirectoryInfo;
use FaustVik\Files\Helpers\Directory\EnumSortDirectory;
$directoryPath = '/path/to/directory';
$contents = DirectoryInfo::scan($directoryPath, EnumSortDirectory::ASC); // Сортировка по возрастанию
```

Работа с файлами

Получение информации о файле:

```
use FaustVik\Files\Helpers\File\FileInfo;
$filePath = '/path/to/file.txt';
$name = FileInfo::getName($filePath); // Получение имени файла
$size = FileInfo::getSize($filePath); // Получение размера файла в байтах
$extension = FileInfo::getExtension($filePath); // Получение расширения файла
$isReadable = FileInfo::isReadable($filePath); // Проверка доступности для чтения
$isWritable = FileInfo::isWritable($filePath); // Проверка доступности для записи
```

Чтение и запись текстовых файлов

Чтение файла в массив строк:

```
use FaustVik\Files\Text\TextFileManager;
use FaustVik\Files\Contracts\File\FileContract;
use FaustVik\Files\Contracts\Text\TextSettingReaderContract;
$file = new YourFileImplementation('path/to/file.txt');
$settings = new YourSettingsImplementation();
$reader = new TextFileManager($file, $settings);
$arrayContent = $reader->readToArray();
```

Запись данных в файл:

```
$success = $reader->overWrite("new content"); // Перезапись содержимого файла
$success = $reader->write("appended content"); // Добавление данных в конец файла
$success = $reader->appendToStartFile("prepended content"); // Добавление данных в начало файла
```

Обработка CSV файлов

Чтение CSV файла:

```
use FaustVik\Files\Csv\CsvManager;
use FaustVik\Files\Contracts\Csv\CsvSettingReaderContract;
use FaustVik\Files\Contracts\File\CsvFileContract;
$csvSettings = new CsvSettings();
$csvFile = new CsvFile('/path/to/your/file.csv');
$csvReader = new CsvManager($csvFile, $csvSettings);
$data = $csvReader->read();
print_r($data);
```

Запись в CSV файл:

```
$fields = [
['id' => 1, 'name' => 'John', 'age' => 30],
['id' => 2, 'name' => 'Jane', 'age' => 25]
];
$csvReader->write($fields);
```

Настройки CSV:

```
$csvSettings = new CsvSettings();
$csvSettings->setSeparator(';');
$csvSettings->setEncoding('UTF-8');
$csvSettings->setEscapeChar('\\');
$csvSettings->setEnclosureChar('"');
```

Исключения

Библиотека включает пользовательские исключения для обработки ошибок:

```
DirectoryException: выбрасывается при ошибках, связанных с директориями.
FileNotFoundException: выбрасывается при попытке получить информацию о несуществующем файле.
IsNotResource: выбрасывается при передаче некорректного ресурса (например, не открытого файла).

```

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance44

Moderate activity, may be stable

Popularity3

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity36

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

439d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/018ded1d1207643dd5e7a2d97290f72b10525f8515215276495f10c79267526c?d=identicon)[FaustVik](/maintainers/FaustVik)

---

Tags

phpcsvfilefilestextdirectorytxtcsv fileread text

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/faustvik-text-files/health.svg)

```
[![Health](https://phpackages.com/badges/faustvik-text-files/health.svg)](https://phpackages.com/packages/faustvik-text-files)
```

###  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.6M790](/packages/league-flysystem-aws-s3-v3)[crysalead/dir

Recursive directory scanner to locate directories and/or files in a file system

13214.5k4](/packages/crysalead-dir)

PHPackages © 2026

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