PHP-读取目录数,然后为每个目录指定一个指定的文件名

PHP-读取目录数,然后为每个目录指定一个指定的文件名,php,directory,require,Php,Directory,Require,我想做一个小脚本,但我在php中是n00b,所以如果可以,请帮助我:) 我想让脚本做的是: 我有“index.php” 我希望“index.php”从已知文件夹读取子目录,比如“templates/” 每个子目录将包含一个名为“content.html”的文件 然后,索引将为每个现有子目录加载“content.html”和require()函数 非常感谢你的帮助 运行指定目录和所有子目录,并将所有文件系统项作为对象返回: 当您希望通过PHP解析器运行.html文件时,例如当它包含需要评估的PHP

我想做一个小脚本,但我在php中是n00b,所以如果可以,请帮助我:)

我想让脚本做的是:

  • 我有“index.php”
  • 我希望“index.php”从已知文件夹读取子目录,比如“templates/”
  • 每个子目录将包含一个名为“content.html”的文件
  • 然后,索引将为每个现有子目录加载“content.html”和require()函数
  • 非常感谢你的帮助

    运行指定目录和所有子目录,并将所有文件系统项作为对象返回:

    当您希望通过PHP解析器运行.html文件时,例如当它包含需要评估的PHP代码时,请使用
    include
    。如果没有,请使用fpassthru,因为这应该快一点。还可以使用
    readfile($file->getRealpath())

    运行指定目录和所有子目录,并将所有文件系统项作为对象返回:


    当您希望通过PHP解析器运行.html文件时,例如当它包含需要评估的PHP代码时,请使用
    include
    。如果没有,请使用fpassthru,因为这应该快一点。还可以使用
    readfile($file->getRealpath())

    您想要实现什么

    您希望在index.php中显示不同文件的内容,还是希望生成指向这些文件的链接

    因为如果您想要聚合内容,这种方法是不够的,因为您会得到一个语法无效的html文件,因为您只是连接html文件的内容

    您需要对内容进行一些额外的解析来避免这种情况

    干杯


    Dawit

    你想要实现什么

    您希望在index.php中显示不同文件的内容,还是希望生成指向这些文件的链接

    因为如果您想要聚合内容,这种方法是不够的,因为您会得到一个语法无效的html文件,因为您只是连接html文件的内容

    您需要对内容进行一些额外的解析来避免这种情况

    干杯


    Dawit

    每个子目录都将是一个产品,所以我希望每次加载索引时都检查该文件夹中是否有新内容。每个子目录中的“content.html”文件或“content.php”文件将包含一些文本/图像的html代码(该产品的描述)。所有的产品都会显示在第一页的一列中(index.php)。我知道有更好的方法和商店脚本,但这是我的方法:)我只是想知道content.html是否是一个完整的html文件,但如果它只包含html或php的片段,那么连接将产生您想要的结果。only fragment(表或div)每个子目录都是一个产品,所以我希望每次加载索引时都检查该文件夹中是否有新内容。每个子目录中的“content.html”文件或“content.php”文件将包含一些文本/图像的html代码(该产品的描述)。所有的产品都会显示在第一页的一列中(index.php)。我知道有更好的方法和商店脚本,但这是我的方法:)我只是想知道content.html是否是一个完整的html文件,但如果它只包含html或php的片段,那么连接将产生您想要的结果。only fragment(表或div)
    $iterator = new RecursiveIteratorIterator(
                    new RecursiveDirectoryIterator($yourFilePath));
    
    foreach($iterator as $file) {
        if($file->getFilename() === 'content.html') {
            $file->openFile()->fpassthru();
            // or 
            include $file->getRealpath();
        }
    }