我有一个名为“header.php”的文件,我在我网站的每个页面都包含这个文件,这个文件包含我的服务器上其他文件的链接,如css文件,jquery插件等等。现在我正在使用这些链接的绝对路径,以便它们可以处理与header.php文件不在同一目录中的文件,这样可行,但正如您在下面的示例中所看到的,如果您的标题,事情开始变得非常难以管理.php文件包含很多链接(我的链接),所以我想知道在header.php文件中是否还有其他替代方法可以像我在这里一样使用绝对路径。
的header.php
<?
$base_url = "http://example.com";
?>
<html>
<head>
<title> <? echo($title); ?> </title>
<link rel="stylesheet" type="text/css" href="<? echo($base_url); ?>/styles/some_css_file.css" media="all"/>
<link rel="stylesheet" type="text/css" href="<? echo($base_url); ?>styles/another_css_file.css" media="all"/>
<link rel="stylesheet" type="text/css" href="<? echo($base_url); ?>styles/another_css_file.css" media="all"/>
...
...
...
<script type="text/javascript" src="<? echo($base_url); ?>/scripts/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="<? echo($base_url); ?>/scripts/some_jquery_plugin.js"></script>
<script type="text/javascript" src="<? echo($base_url); ?>/scripts/another_jquery_plugin.js"></script>
...
...
...
</head>
某些文件包含header.php
<?
$title = "some page title";
include("header.php");
?>
<body>
PAGE CONTENTS
</body>
</html>
答案 0 :(得分:1)
使用HTML基本代码定义网站的基础。
<base href="<?php echo $base_url; ?>" />
<link rel="style.css" />
答案 1 :(得分:1)
绝对路径是这里的方式。但是,如果您有很多要打印的链接,可以通过将路径存储在数组中并循环遍历数组来简化它。
$base = "http://www.example.com/"
$links = array( "styles/file1.css", "styles/file2.css", ... );
foreach ( $links as $link ) {
echo '<link rel="stylesheet" href="' . $base . $link . '" type="text/css" media="all" />';
}
作为旁注,你所拥有的并不是很好的做法。尝试组合其中一些文件会更好,更有效,因为这会减少浏览器必须向服务器发出的HTTP请求数量。 http://developer.yahoo.com/performance/rules.html#num_http
答案 2 :(得分:1)
我在我的一个项目中遇到了同样的疑问,而且我已经按照下面的代码完成了。由于路径以“/”开头,因此将在根目录中找到该文件,在这种情况下,无需指定域,如果您要重写URL,它将使维护变得更容易并防止出现问题使用(mod_rewrite)。希望它也可以帮到你!
<html>
<head>
<title> <? echo($title); ?> </title>
<link rel="stylesheet" type="text/css" href="/styles/some_css_file.css" media="all"/>
<link rel="stylesheet" type="text/css" href="/styles/another_css_file.css" media="all"/>
<link rel="stylesheet" type="text/css" href="/styles/another_css_file.css" media="all"/>
<script type="text/javascript" src="/scripts/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="/scripts/some_jquery_plugin.js"></script>
<script type="text/javascript" src="/scripts/another_jquery_plugin.js"></script>
</head>
</html>
答案 3 :(得分:0)
这不是您问题的直接答案,但它可能会对您有所帮助。
如果你要包含那么多css和JS文件,你应该考虑使用Minify。 Minify将获取一堆css / js文件并将它们压缩/组合成一个文件,这将大大加快您网站的加载速度。
使用它也可以帮助您解决路径问题,因为您可以非常轻松地指定目录和组。
您可以在此处找到相关信息:Minify