Mat*_*iby 8 php directory loops switch-statement
我有这个PHP案例声明
switch ($parts[count($parts) - 1]) {
case 'restaurant_pos':
include($_SERVER['DOCUMENT_ROOT'] . '/pages/restaurant_pos.php');
break;
case 'retail_pos':
include($_SERVER['DOCUMENT_ROOT'] . '/pages/retail_pos.php');
break;
.....
}
Run Code Online (Sandbox Code Playgroud)
哪个效果很好,但我有很多文件(比如190),我很想知道是否有办法让这个案例陈述很多可以用于任何事情,所以我不需要做190个案例.我想我可以在案件中使用condtion并且可能看看该文件是否存在,如果是,那么显示,如果没有那么可能是404页但我不确定这样做的好方法...任何想法都会有帮助很多
Kar*_*lis 15
您可以在数组中预定义文件名,然后使用in_array
以检查名称的存在:
$files = array('restaurant_pos', 'retail_pos', ......);
$file = $parts[count($parts) - 1];
if (in_array($file, $files)) {
include($_SERVER['DOCUMENT_ROOT'] . "/pages/$file.php");
}
Run Code Online (Sandbox Code Playgroud)
如果不是用户输入,你可以这样做
$include = $parts[count($parts) - 1];
if ($include) {
if (file_exists($_SERVER['DOCUMENT_ROOT'] . '/pages/'.$include.'.php')){
include $_SERVER['DOCUMENT_ROOT'] . '/pages/'.$include.'.php';
}
}
Run Code Online (Sandbox Code Playgroud)
重复一遍,如果 $include 是从用户的输入中填充的,请不要这样做!