[PHP] gielfeldt/iteratorsでglobの再帰を処理

概要

phpのglob関数にはrecursiveがない為、機能が足りないことがあると思います。再帰を使った実装例もネット上には多々ありますが、車輪の再発明は避けたいので、composerを使います。

公式ドキュメント

https://github.com/gielfeldt/iterators

インストール

$ composer require gielfeldt/iterators

使い方

<?php

include __DIR__ . './vendor/autoload.php';

use Gielfeldt\Iterators\GlobIterator;

$iterator = new GlobIterator('/tmp/**.log');
var_dump(iterator_to_array($iterator));

注意点

glob文字列をコマンドライン引数で渡した場合、シェル側で展開されてしまい、期待通りの動作にならないことがあります。

必ず文字列として渡す点に注意してください。

免責事項

このブログは個人的なメモを兼ねたものです。

このブログを参考にした結果起こりうる如何なる事態に対しても、当方では責任を負いかねます。

予めご了承ください。