我有以下脚本来做动态包括:
<?php
$_GET["page"] = (isset($_GET["page"])) ? $_GET["page"] : "home";
$page = $_GET['page'];
$pages = array('home', 'solutions', 'projects', 'about', 'contact');
if (!empty($page)) {
if(in_array($page,$pages)) {
$page .= '.php';
include($page);
}
else {
echo 'Page not found. Return to
<a href="index.php">index</a>';
}
}
else {
include("home.php");
}
?>
我应该在此脚本中添加什么,以便能够包含来自不同文件夹的DYNAMICALLY文件(例如,我有index.php
中的www/mysite_folder
页面,我想动态地包含在index.php
中{1}} Adresses.php
中的文件www/mysite_folder/faq_folder
?请注意,通过动态我并不是指常规包含(include();
)而是<a href="index.php?category=faq_folder&page=adresses">Adresses</a>
。
答案 0 :(得分:2)
我认为没有理由在目录之间拆分可执行文件 因此,如果您可以将所有文件保存在一个中,则代码为
<?
$page = (empty($_GET["page"])) ? "home" : $_GET["page"];
$page = "includes/".basename($page).".php";
if (is_readable($page)) {
include($page);
} else {
header("HTTP/1.0 404 Not Found");
exit;
}
?>
这是安全和自动化的。
答案 1 :(得分:0)
require('faq_folder/'.$file_name);
但它不是非常安全的解决方案。