tomk79/search-in-directory

在指定目录内搜索文件。

0.0.1 2020-10-29 01:07 UTC

This package is auto-updated.

Last update: 2024-08-29 05:23:44 UTC


README

在指定目录内搜索文件。

安装步骤 - 安装

$ composer require tomk79/search-in-directory

使用方法 - 使用

$searcher = new \tomk79\searchInDirectory\main(
    array(
        // 検索対象とするディレクトリを列挙する
        '/path/to/target_dir/',
    ),
    array(
        'progress' => function( $_done, $_total ) use ( &$total, &$done ){
            // 進行状況を受けるコールバック
            var_dump($_done.'/'.$_total);
            $total = $_total;
            $done = $_done;
        },
        'match' => function( $file, $result ) use ( &$matched ){
            // 検索にマッチしたファイルの情報を受けるコールバック
            var_dump('Matched! '.$file);
            array_push($matched, $file);
        },
        'unmatch' => function( $file, $result ) use ( &$unmatched ){
            // 検索にマッチしなかったファイルの情報を受けるコールバック
            var_dump('Unmatched! '.$file);
            array_push($unmatched, $file);
        },
        'error' => function( $file, $error ){
            // 検索エラー情報を受けるコールバック
            var_dump($file);
            var_dump($error);
        },
    )
);

// 検索する
$matched = array();
$unmatched = array();
$total = 0;
$done = 0;
$result = $searcher->start(
    'text', // 検索キーワード
    array(
        'filter' => array(
            // ここに列挙するパターンにマッチしないパスは除外する
            '/./i',
        ) ,
        'ignore' => array(
            // ここに列挙するパターンにマッチするパスは除外する
            '/\.git/',
        ) ,
        'allowRegExp' => false, // true = 検索キーワード中に正規表現を使えるようにする
        'ignoreCase' => false, // true = 大文字・小文字を区別しない
        'matchFileName' => false, // true = ファイル名にもマッチさせる
    )
);
var_dump($matched);
var_dump($done.'/'.$total);

更新日志 - 更新记录

tomk79/search-in-directory v0.0.1 (2020年10月29日)

  • 首次发布。

开发者信息 - 对于开发者

测试 - 测试

$ cd {$documentRoot}
$ php vendor/phpunit/phpunit/phpunit

文档输出 - phpDocumentor

$ composer run-script documentation

许可证 - 许可证

版权 (c)Tomoya Koyanagi
MIT 许可证 https://open-source.org.cn/licenses/mit-license.php

作者 - 作者