我试图让我的脚本找到我的包含目录中的所有PHP文件,并将它们放入一个数组(我已经完成数组部分)。然后,脚本执行一个for循环来检查GET请求是否与数组中的当前位置值匹配(或者您想调用它的任何内容)。PHP不停止包括(中断)
但是,如果它根本找不到它,它将包含默认页面,但显然如果它包含它匹配的文件。
问题是.. break命令根本不起作用。所以,如果匹配的话,它会包含默认页面。请帮忙。
<?php
if(!defined("PLUGIN")){
echo "You cannot view this file directly.";
} else {
$glob = glob("inc/*.php");
$count = count($glob);
for($i=0;$i<$count;$i++){
$explode = explode("/", $glob[$i]);
$explode2 = explode(".", $explode[1]);
if($_GET["page"] == $explode2[0]){
include $glob[$i];
break;
} include_once "default.php";
}
}
?>
条件不符合。 – usoban 2011-05-29 17:55:57
你的代码可以用['foreach'](http://php.net/foreach)和['basename()'](http://php.net/basename) – mario 2011-05-29 17:57:12
更简单。另外,include_once“如果在循环中设置了一个标志,default.php应该放在循环外部并运行。否则,在最坏的情况下,您可以运行include_once length-1次。 – rzetterberg 2011-05-29 17:59:17