amekusa/phio

PHP面向对象的文件系统库

0.2.0 2016-08-29 08:01 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:47:46 UTC


README

  • 一致的、清晰的API
  • 封装麻烦的事务
  • 少打字,但也易读
  • 经过良好测试和文档记录
    📘 查看完整的文档

安装

通过Composer安装。

composer require amekusa/phio

示例

假设的目录结构

/
└── srv
    └── http
        ├── favicon.svg
        ├── index.html
        ├── script.js
        └── style.css

遍历目录中的文件

use amekusa\phio\Directory;

$dir = new Directory('/srv/http');
foreach ($dir as $file) {
	echo $file->getPath() . "\n";
}

此代码的结果

/srv/http/favicon.svg
/srv/http/index.html
/srv/http/script.js
/srv/http/style.css

过滤文件

use amekusa\phio\Directory;
use amekusa\phio\Filter;

$dir = new Directory('/srv/http');
$dir->addFilter(new Filter('s*.*s'));

foreach ($dir as $file) {
	echo $file->getPath() . "\n";
}

此代码的结果

/srv/http/script.js
/srv/http/style.css

您也可以使用正则表达式,如下所示

use amekusa\phio\Directory;
use amekusa\phio\RegexFilter;

$dir = new Directory('/srv/http');
$dir->addFilter(new RegexFilter('/\.[a-z]{3}$/'));

foreach ($dir as $file) {
	echo $file->getPath() . "\n";
}

此代码的结果

/srv/http/favicon.svg
/srv/http/style.css