我需要递归遍历某个目录并列出其中的所有文件 我在PHP网站上找到了一个例子,但是经过进一步搜索,我无法找到解决问题的方法。问题是它打印出整个路径,但我只想回显出文件的第一个包含文件夹。因此,例如,现在我得到以下输出:
/var/www/example.com/public_html/images/6.Blah/_Original/DSC_0174.jpg
但我希望它能呼应:
_Original/DSC_0174.jpg
或
/_Original/DSC_0174.jpg
这是我正在使用的代码:
<?php
$path = realpath('/etc');
$objects = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path), RecursiveIteratorIterator::SELF_FIRST);
foreach($objects as $name => $object){
echo "$name'n";
}
?>
这是一个格式问题,您可以通过许多不同的方式处理它。一种方法是将字符串拆分为一个数组并获取最后两个元素。
foreach($objects as $name => $object){
$pieces = explode("/",$name);
$length = count($pieces);
$result = $pieces[$length-2]."/".$pieces[$length-1];
}