PHP неполный код - сканируйте каталог, включайте только если имя начинается или заканчивается на x - PullRequest
0 голосов
/ 28 апреля 2010

Я уже писал вопрос, но пока не могу смешивать код, не получая ошибок. Я довольно новичок в php: (

(каталоги названы последовательно, например, "id_1_1", "id_1_2", "id_1_3" и "id_2_1", "id_2_2", "id_2_3" и т.

У меня есть этот код, который сканирует каталог на наличие всех файлов, а затем включает один и тот же известный именованный файл для каждой из существующих папок. Проблема в том, что я хочу немного изменить код, чтобы он включал только определенные каталоги, которые их имена:

  1. оканчивается на "_1"
  2. начинается с "id_1 _"

Я хочу создать страницу, которая будет загружать только каталоги, заканчивающиеся на «_1», и другой файл, который будет загружать только каталоги, начинающиеся с «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";

?>

Большое спасибо!

1 Ответ

0 голосов
/ 28 апреля 2010
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');
        }
    }
}

Есть другие способы сделать это, но я попытался добавить только простые функции и логику, в надежде, что вы поймете это.

Конец с будет выглядеть как

if (substr($dirName, -2) === '_1')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...