我有一个我写的python脚本,我需要移植到php。它递归搜索给定目录并基于正则表达式搜索构建字符串。我要移植的第一个功能如下。它需要一个正则表达式和一个基本目录,递归地在该目录中的所有文件中搜索正则表达式,并构建一个字符串匹配列表。
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。我从网上抓取了一些目录遍历代码,由于我完全缺乏 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";
}
}
}