I posted a question before but I am yet limited to mix the code without getting errors.. I'm rather new to php :(
( the dirs are named in series like this "id_1_1" , "id_1_2", "id_1_3" and "id_2_1" , "id_2_2", "id_2_3" etc.)
I have this code, that will scan a directory for all the files and then include a same known named file for each of the existing folders.. the problem is I want to modify a bit the code to only include certain directories which their names:
I want to create a page that will load only the dirs that ends with "_1" and another file that will load only dirs that starts with "id_1_"..
<?php
include_once "$root/content/common/header.php";
include_once "$root/content/common/header_bc.php";
include_once "$root/content/" . $page_file . "/content.php";
$page_path = ("$root/content/" . $page_file);
$includes = array();
$iterator = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($page_path),
RecursiveIteratorIterator::SELF_FIRST);
foreach($iterator as $file) {
if($file->isDir()) {
$includes[] = strtoupper($file . '/template.php');
}
}
$includes = array_reverse($includes);
foreach($includes as $file){
include $file;
}
include_once "$root/content/common/footer.php";
?>
Many Thanks!
foreach($iterator as $file) {
if($file->isDir()) {
// getFilename() actually gives the directory name, when it's um, a directory.
$dirName = $file->->getFilename();
if (substr($dirName, 0, 5) === 'id_1_') {
$includes[] = strtoupper($file . '/template.php');
}
}
}
There's other ways to do this, but I tried to only add simple functions and logic, in hopes you will understand it.
Ends with would look like
if (substr($dirName, -2) === '_1')