我想制作一个小脚本,但我在 php 中比较n00b,所以如果可以的话请帮助我:)
我想要脚本做的是:
- 我有“index.php”。
- 我希望“index.php”从已知文件夹中读取子目录,比如说“templates/”
- 每个子目录将包含一个名为“content.html”的文件。
- 然后,索引将使用 require() 函数为每个现有子目录加载“content.html”。
非常感谢您的帮助!
RecursiveDirectoryIterator遍历指定目录和所有子目录,并将所有文件系统项作为SplFileInfo对象返回:
$iterator = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($yourFilePath));
foreach($iterator as $file) {
if($file->getFilename() === 'content.html') {
$file->openFile()->fpassthru();
// or
include $file->getRealpath();
}
}
当您想通过 PHP 解析器运行 .html 文件时使用include
,例如当它包含需要评估的 PHP 代码时。如果没有,请使用 fpassthru,因为这应该会快一点。也可以使用readfile($file->getRealpath())
。
你想达到什么目的?
您想要 index.php 中不同文件的内容还是想要生成指向这些文件的链接?
因为如果你想聚合内容,这种方法是不够的,因为你会得到一个语法无效的 html 文件,因为你只是将 html 文件的内容连接起来。
您将需要对内容进行一些额外的解析以避免这种情况。
干杯,
达维特