PHPackages                             pier/file\_database - 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. [Database &amp; ORM](/categories/database)
4. /
5. pier/file\_database

ActiveLibrary[Database &amp; ORM](/categories/database)

pier/file\_database
===================

一个高效、简洁的PHP文件数据库系统，提供基于文件存储的NoSQL数据库功能，支持完整的CRUD操作

v1.1.5(11mo ago)06MITPHPPHP &gt;=8.0

Since Jun 6Pushed 11mo agoCompare

[ Source](https://github.com/erxin-tian/file_database)[ Packagist](https://packagist.org/packages/pier/file_database)[ Docs](https://github.com/pier/file_database)[ RSS](/packages/pier-file-database/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (1)Versions (7)Used By (0)

PHP 文件数据库 (pier/file\_database)
===============================

[](#php-文件数据库-pierfile_database)

一个**高效、简洁**的PHP文件数据库系统，提供基于文件存储的NoSQL数据库功能。采用JSON文档存储格式，支持完整的CRUD操作和智能路径检测。

[![PHP Version](https://camo.githubusercontent.com/f9a61eee600abfa4c06628ff826dc6a7dfffc0cceca828fd79751b43e44f451f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d253345253344382e302d626c75652e737667)](https://php.net/)[![License](https://camo.githubusercontent.com/784362b26e4b3546254f1893e778ba64616e362bd6ac791991d2c9e880a3a64e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d677265656e2e737667)](LICENSE)[![PHPUnit](https://camo.githubusercontent.com/a18c85267e8e5e0ea07d6e6f6dbaa099c7c68c32e704a580e68e7d74c6bdcd80/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f504850556e69742d25354531302e302d7265642e737667)](https://phpunit.de/)

🚀 主要特性
------

[](#-主要特性)

### 核心功能

[](#核心功能)

- **完整的CRUD操作**：支持增删改查所有数据库操作
- **JSON文档存储**：每行一个JSON对象，支持复杂数据结构
- **Key作为ID的API**：简洁的API设计，key作为独立参数
- **智能路径检测**：自动识别composer安装环境，数据存储在项目根目录
- **批量操作**：支持多种格式的批量插入和删除操作
- **严格验证**：键名只允许字母和数字，确保数据安全

### 设计特点

[](#设计特点)

- **无索引文件**：简化设计，减少文件管理复杂度
- **原子操作**：文件锁机制确保数据一致性
- **严格类型检查**：完整的参数验证和错误处理
- **路径安全**：防止目录遍历攻击的安全机制
- **环境适配**：智能适配开发环境和生产环境

### 存储格式

[](#存储格式)

数据以JSON文档格式保存，每行一条记录：

```
{"friendAddress":"TUN8XY9cVQNfFrVtCRztxYunPiao84vZmi","serverAddress":"","nickname":"TUN8","avatar":"","isBlocked":false,"createdAt":{"$$date":1747494780892},"group":"默认分组","remark":"","_id":"R1UYEJinFfpZeIJP"}
{"friendAddress":"ABC123DEFghijklmnop456","serverAddress":"server1.example.com","nickname":"Alice","avatar":"avatar1.jpg","isBlocked":false,"createdAt":{"$$date":1747494780893},"group":"工作组","remark":"同事","_id":"user001"}
```

**格式说明**：

- 每行一个完整的JSON对象
- 使用`_id`字段作为唯一标识符
- 支持任意复杂的嵌套数据结构
- 自动忽略索引信息行（如`{"$$indexCreated":...}`）

📦 安装
----

[](#-安装)

### 系统要求

[](#系统要求)

- PHP 8.0 或更高版本
- Composer（推荐）

### 通过 Composer 安装（推荐）

[](#通过-composer-安装推荐)

```
composer require pier/file_database
```

### 直接使用

[](#直接使用)

```
git clone https://github.com/pier/file_database.git
cd file_database
composer install  # 如果需要运行测试
```

🎯 快速开始
------

[](#-快速开始)

### 基本用法

[](#基本用法)

```
