【发布时间】:2010-12-13 07:31:59
【问题描述】:
可能重复:
PHP - Iterate through folders and display HTML contents
使用 PHP,我正在尝试创建一个脚本,该脚本将导航到网站的根目录,并从那里使用 scandir() 或 glob()(这些是我学到的唯一目录扫描功能) ,我会使用递归的方法来浏览根目录中的所有项目,然后在遇到测试为目录的条目时通过is_dir($fileName)重新调用自己。
这是我遇到问题的地方 - 当我到达一个目录条目时,它会正确地将 if 语句导航到目录命令,但是在调用自身时,我似乎无法获得glob() 目录正确,因为每次我调用它时,页面都会停止加载更多内容。我试图从扫描目录的基于 URL 的相对性质中弄清楚我将如何引用它。我设置了一个变量$ROOT_DIR,它是相对于php页面所在目录的根目录(在本例中为$ROOT_DIR="../../"),然后逻辑上我会调用scanAllFiles [my站点地图方法] 与 $ROOT_DIR 。 $fileName,这是找到的目录的字符串,在从字符串中删除前导 "../../" 之后。试过之后还是不行。
我应该使用不同的目录遍历方法来执行此操作,还是我错误地格式化了方法调用?
【问题讨论】:
-
如何区分站点页面和类/配置/功能页面?
-
我对区分它们完全不感兴趣 - 我希望它们包含在最终列表中。
-
您确定要抓取文件系统而不是网站吗?您可能会暴露本应隐藏的页面,包括不应出现在站点地图中的管理页面。
-
一个代码清单会大大增加这个问题的价值——可能还有答案。