我正在使用 PHP RecursiveDirectoryItorator,但我发现由于某种原因,我的一些变量应该在范围内时超出了范围......除非我真的错过了一些东西。我试图访问的两个变量是 $master_array 和 $current,如果我在 else 语句中 echo 或 print_r 它们都没有任何值。这是我的代码:
$master_array = array();
$startpath = "some file path"; // i'm using a real file path in my code.
$ritit = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($startpath), RecursiveIteratorIterator::CHILD_FIRST);
foreach($ritit as $fileinfo) {
echo "<pre>";
$current = '';
if(!$fileinfo->isFile()) {
if(strip_replace($fileinfo->getFilename()) == strip_replace('some - title')) {
$master_array[$fileinfo->getFilename()] = $fileinfo->getPathname();
$current = $fileinfo->getFilename();
}
} else {
if(!empty($current) && in_array($current, split_file_path_into_array($fileinfo->getPathname()))) {
echo $fileinfo->getFilename()."\n";
echo $fileinfo->getPathname()."\n";
}
echo $current; // i don't have access to this
print_r($master_array); // and i don't have access to this.
}
}
对此的任何帮助将不胜感激。我希望我只是忽略了一些简单的事情,但我一直在查看这段代码,并且把它弄乱了很长一段时间,似乎无法让它工作。