PHPに移植する必要があることを書いたPythonスクリプトがあります。指定されたディレクトリを再帰的に検索し、正規表現検索に基づいて文字列を作成します。私が移植しようとしている最初の機能は以下のとおりです。正規表現とベースディレクトリを取り、そのディレクトリ内のすべてのファイルで正規表現を再帰的に検索し、一致する文字列のリストを作成します。
def grep(regex, base_dir):
matches = list()
for path, dirs, files in os.walk(base_dir):
for filename in files:
fullpath = os.path.join(path, filename)
with open(fullpath, 'r') as f:
content = f.read()
matches = matches + re.findall(regex, content)
return matches
基本的な GET パラメータ操作を除いて、PHP を使用することはありません。Web からいくつかのディレクトリ ウォーキング コードを取得しましたが、php API がまったくないため、上記の python 関数のように機能させるのに苦労しています。
function findFiles($dir = '.', $pattern = '/./'){
$prefix = $dir . '/';
$dir = dir($dir);
while (false !== ($file = $dir->read())){
if ($file === '.' || $file === '..') continue;
$file = $prefix . $file;
if (is_dir($file)) findFiles($file, $pattern);
if (preg_match($pattern, $file)){
echo $file . "\n";
}
}
}