2013-05-04 55 views
0

从PHP脚本中,我想包含一个“header.php”和“footer.php”文件,它们位于不同的目录中。他们有HTML在其中,和HTML有引用文件中他们的路径,例如:将HTML脚本包含在不同的目录中,同时保持HTML中的文件路径不变?

<link rel="stylesheet" type="text/css" href="css/custom.css"> 

<a href="about.php">About Us</a> 

当我包括来自PHP文件这个网站(这是另一个目录)该html在它所包含的目录中查找文件路径,而不是从包括

有没有简单的解决方法呢?我意识到我可以通过html并在每个文件路径中添加诸如<?php echo dirname(__FILE__); ?>之类的内容。但是,那是正确的方法吗?

我应该完全重构我的文件吗?

目前,PHP脚本是在不同目录中的原因是因为目前我的大部分网页都在服务器的根目录 - 所以我的CSS js和模板文件位于名为“css”“js”的文件夹中,和“inc”;但我想让一些网页位于格式为“[root] /Account/settings.php”的网址中。所以我试图把一些php页面放到名为Account的根目录下的一个文件夹中。但是当我试图包含我的模板文件时,其中的文件路径会变得混乱。

+0

HTML中的URL由浏览器处理,而不是由服务器处理。它将它们解释为与包含它们的文档的URL相关,因为它不知道关于包含在服务器上发生的任何事情。 – Barmar 2013-05-04 00:39:57

回答

0

使用以下路径 -

<link rel="stylesheet" type="text/css" href="/css/custom.css"> 

<a href="/about.php">About Us</a> 

这是假设的CSS目录和简介都在你的文档根目录。真的是一个简单的HTML和路径问题,而不是PHP,如果我理解你正在尝试做什么。

+0

谢谢!这是否适用于PHP也包含文件路径?如果没有,那么在那种情况下我可以用什么来做同样的事情呢? – vijrox 2013-05-04 00:57:10

+0

试试'include($ _ SERVER ['DOCUMENT_ROOT']''/includes/script.php');' - 我经常这样做。同时建议您查看一下MVC框架,比如Laravel或CodeIgniter。 – NightMICU 2013-05-04 01:01:15

相关问题