0

我想包含很多 .php 文件。因为我有 4 类工作需要展示。

以下代码有效。虽然,它基本上是我所知道的关于 PHP 的一切。我对编写 PHP 并不坚定。

<?php
if(!isset($_GET['page'])) $_GET['page']="";
switch($_GET['page']) {

case "category_a": 
    include('site1.php');
    include('site2.php');
    include('site3.php');
    include('site4.php'); 
break;
case "category_b": 
    include('site5.php');
    include('site6.php');
    include('site7.php');
    include('site8.php');
    include('site9.php');
    include('site10.php'); 
break;

}
?>

由于包含的站点如此之多,并且我希望能够在其他地方包含这些类别而无需再次列出每个文件(因此更新多个站点上的列表)。

是否可以简单地包含一条路径?:D 这就是我想象的解决方案:

case "category_a": 
    include('/directory/category_a'); 
break;

非常感谢任何帮助。

4

1 回答 1

0
function includeFilesFromDir ( $dir_path, $file_extension, $recursive = false ){
    if(!is_dir( $dir_path )){
        return false;
    }
    if(empty( $file_extension )){
        return false;
    }
    $all_dir_files = scandir( $dir_path );
    foreach($all_dir_files as $file){
        if( $file == "." || $file == ".." ){
            continue;
        }
        if( is_dir( $dir_path . "/" . $file ) && $recursive ){
            includeFilesFromDir( $dir_path . "/" . $file, $file_extension, $recursive);
        } elseif( $file_extension == pathinfo( $file, PATHINFO_EXTENSION ) ){
            include( $dir_path . "/" . $file );
        }

    }

    return true;
}
includeFilesFromDir("C:/some_dir", "php", true);
于 2013-07-14T14:09:41.883 回答