2011-03-31 57 views
1

有没有一种方法可以针对PHP仅包含某些页面?我必须使用PHP includes才能为特定页面调用JavaScript和CSS文件;没有针对包含的页面将不会看到JavaScript或CSS,否则它们会中断。谢谢PHP仅包含一些页面

编辑:
谢谢大家。我已经改变了方法。我决定只检查文件名并将JavaScript和CSS文件链接到目标页面,而不是选择性地使用包含。一位同事指出,使用$_SERVER['REQUEST_URI']这将提供.php文件的名称,并允许有针对性地提供JavaScript和CSS文件。这是我迄今为止设置的方式:

$files-array{file1.php, file2.php, file3.php} 
if (array_search($_SERVER['REQUEST_URI'], $files-array) > 0) { 
link to css files 
link to js files 
} 

回答

2

如何定义页面?

if($_GET['something'] == "somepage"){ 
include 'javascript.js'; 
} 
0

你就不能使用

if (condition) include 'something'; 

1

你可以做很多事情,但是主要的逻辑是:

if condition 
    include file 

所以,你可以这样做:

if($_SERVER["SCRIPT_NAME"] == "folder/script.php"){ 

    include 'page.js'; 

} 

if($_GET['variable'] == "correct"){ 
    // include 
} 

if($_POST['formvariable'] == "correct"){ 
    // include 
} 

等等。

1

我建议做你自己的图书馆。所以你不要把代码搞乱。你可以做一个简单的目录,这样的事情:

$pages_includes = array(
    'index' => array(
     'script1.js', 
     'script2.js', 
     'style1.css', 
     'style2.css', 
    ), 
    'contact' => array(
     'script1.js', 
     'style1.css', 
     'style2.css', 
    ) 
); 

然后,在你的“库”你可以做这样的事情

function myImport($page_name){ 
    $includes = $pages_includes[$page_name]; 
    foreach(includes as $k=>$v){ 
     include_once($v); 
    } 
} 

而且,在你的页面,你可以这样做:

myImport($_SERVER["SCRIPT_NAME"]); 

这些是简单的方法来组织您的代码,并使其模块化。如果您必须更改任何导入,您可以在目录($ pages_includes)中执行此操作,而不是在代码中执行。即使你可以从XML文件中读取你的目录。

可扩展性和可扩展性的简单教训;)