2013-11-24 107 views
0

我已经写了一些代码,包括“home.php”如果URL中包含“的index.php”:如果URL中包含“富”查找并包括一个匹配的PHP包括

<?php if($_GET['page'] != "index.php") { 
include('_includes/home.php'); } ?> 

这工作正常一个特定的页面(在这个例子中是主页),但我想扩展我的网站上的任何页面的逻辑。例如,如果URL包含'foo2.php',我想让PHP搜索并包含'_includes/foo2.php'。

我是新来的PHP,所以任何帮助将不胜感激。

+0

唐'使用条件包括,必须有一个更好的方式做任何你想在这里做... –

+0

哪些错误有条件的夹杂物? – Dan382

+0

难以调试,变量可能会被覆盖......这是一个不好的做法 –

回答

1

如果网址是:

http://example.com/?page=foo2

if (empty($_GET['page'])){ 
    include ("_includes/index.php"); 
    exit; 
} 
$Page_Search = glob("_includes/*.php"); 

if (in_array($_GET['page'],$Page_Search)){ 
include ("_includes/$page.'.php'); 
exit; 
} 

这可能是有用的。

+0

感谢bud,但如果示例是'http://example.com/foo2.php',该怎么办? – Dan382

+0

@ Dan382然后在默认情况下浏览器会尝试加载foo2.php,也许你应该查看一些MVC(Model,View,Controller)框架,或者使用.htaccess通过index.php(与MVC使用的方法相同) –

+0

谢谢Daryl我会研究MVC,而不是我以前偶然发现的东西。 – Dan382

0

如何:

if(isset($_GET['page'])) include "_includes/{$_GET['page']}.php";