我想要包含很多.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;
非常感谢任何帮助。
答案 0 :(得分: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);