2010-03-26 59 views
0

我想打一个小脚本每一个指定的文件名,但我宁愿在PHP的n00b所以请帮助我,如果你能:)PHP - 阅读迪尔斯的号码,然后需要

我想要的是什么脚本要做的是:

  1. 我有“index.php”。
  2. 我想要“index.php”从已知文件夹中读取子目录,比如说“templates /”
  3. 每个子目录都将包含一个名为“content.html”的文件。
  4. 然后索引将为每个现有的子目录加载带有require()函数的“content.html”。

非常感谢您的帮助!

回答

4

RecursiveDirectoryIterator贯穿指定的目录及其所有子目录,并返回所有文件系统项目为SplFileInfo对象:

$iterator = new RecursiveIteratorIterator(
       new RecursiveDirectoryIterator($yourFilePath)); 

foreach($iterator as $file) { 
    if($file->getFilename() === 'content.html') { 
     $file->openFile()->fpassthru(); 
     // or 
     include $file->getRealpath(); 
    } 
} 

使用include当你想通过运行PHP解析器,如.html文件当它包含需要评估的PHP代码时。如果不是,请使用fpassthru,因为这应该快一些。也可以使用readfile($file->getRealpath())

0

你想实现什么?

你想在你的index.php中的不同文件的内容或想要生成这些文件的链接?

因为如果你想聚集内容,这种方法是不够的,因为你得到一个无效语法的HTML文件,因为你只是连接HTML文件的内容。

您将需要一些额外的内容解析以避免这种情况。

干杯,

达维特

+0

每个子目录将是一个产品,所以我想指数检查每个是否存在该文件夹中新的东西,它加载时间。 每个子目录中的“content.html”文件或“content.php”文件将包含文本/图像(该产品的描述)的一些html代码。 所有的产品将显示在第一页(index.php) 我知道有更好的方式和商店脚本,但这是我的方式:) – 2010-03-26 14:30:46

+0

我只是想知道,如果content.html是一个完全成熟的HTML文件,但如果它只包含HTML或PHP的片段而不是连接将产生你想要的结果。 – 2010-03-26 14:43:32

+0

只有片段(一个表或一个div) – 2010-03-26 15:37:30