我有一个应用程序,在这个应用程序中,我创建了一个header.php,这个应用程序中的所有页面都很常见,我在其他页面上都包含了这个应用程序。该头文件包含html头标记和DOCTYPE声明等,以及每个页面所需的一些常见JS和DOCTYPE文件。但有一些特定的文件,我想包括根据页面。
现在,如何根据请求header.php的url包括一个特定的JS或CSS文件。
我试图使用头文件顶部的$_SERVER['PHP_SELF']来获取url,但是它没有工作。
在这种情况下,请用最好的技巧提出建议。
示例代码
header.php
<?php
include (dirname(__FILE__) . "/includes/functions.php");
$url = $_SERVER['REQUEST_URI'];
?>
<!DOCTYPE html>
<html lang="en">
<head>
<title>My APP</title>
<meta charset="utf-8" />
<meta name="robots" content="noodp, noydir" />
<meta http-equiv="X-Frame-Options" content="deny" />
<link rel="stylesheet" href="css/main.css" type="text/css" />
<script src="js/main.js"></script>
<?php
if($url == "teachers.php"){
echo "<script src='js/teachers.js'></script>";
}
?>
</head>
<body>发布于 2013-09-05 06:59:02
您要寻找的数组是超全局$_SERVER。里面有所有的信息。更具体地说:$_SERVER['REQUEST_URI']。
$_SERVER['REQUEST_URI']给出了完整的路径,包括斜杠和任何GET请求。在您的情况下(如果teachers.php位于您的服务器根目录中,而您没有得到任何信息),它将保存/teachers.php,您将与teachers.php进行比较。
$_SERVER['SCRIPT_FILENAME']获得正在执行脚本的,这是您似乎正在寻找的。
您可以使用basename过滤出路径:
$url = basename($_SERVER['SCRIPT_FILENAME']);顺便说一下,@hendyanto的解决方案也不错。对于文件名的更改,它肯定是健壮的。
发布于 2013-09-05 07:00:52
在页面上创建一个包含header.php的变量,稍后,检查header.php中的变量以确定要做什么。
示例
在home.php中(将调用header.php的示例页面)
<?php
$page_code = "home";
include ("header.php");
/*Rest of your code*/
?>在header.php中
<?php
switch ($page_code) {
case 'home':
echo "include js and css here..";
break;
case 'profile':
echo "include js and css here..";
break;
default:
# code...
break;
}
?>发布于 2013-09-05 07:22:21
我不知道它是否完美,但我在我的应用程序中使用它
anypage.php
<?php
$js= "path/jstoinclude.js";
include "header.php";
?>在header.php中
<?php
//your code
if(isset($js)){
echo "<script src='".$js."'></script>";
}
?>通过这种方式,您可以将单独的js、css文件包含到不同的页面中。
https://stackoverflow.com/questions/18629661
复制相似问题