PHP包括和相对文件路径
问题描述:
在我的public_html文件夹中,我有以下目录:PHP包括和相对文件路径
- includes (in here I have header.php which is included in index.php)
- images
- styles
- scripts
index.php
包括header.php
,这是我引用我的样式,脚本,图片等
一切都很好直到我尝试直接从包含header.php的includes目录中加载页面,例如:
正在工作:www.mysite.com/index.php
不工作:www.mysite.com/includes/example_page.php
(其中例如页面还包括的header.php)
在example.ph
p没有样式表,图片或脚本的加载。这是因为它正在public_html/includes中查找它们。很显然,将文件路径更改为../styles/stylesheet.css
的作品。但这不是一个理想的解决方案,特别是如果我必须更改header.php中每个图像的文件路径。
如何检测包含子目录中的页面是否将文件路径设置为指向public_html?
chdir();似乎没有工作。
答
在HTML/CSS中使用绝对路径,例如
<link rel="stylesheet" href="/css/styles.css" />
^--- start at top of site document root
<img src="/images/kittens.jpg" />
^--- start at top of site document root
然后,你把你的脚本就不会磨砂的的HREF/SRC公司将始终启动你的网站的网址空间的顶部和工作的方式了。
您将失去的东西是在子目录中托管此特定网站的能力,例如,如果你决定将它移动到
http://example.com/oldsite/index.php
所有的路径会在href/src目录将不得不重新编写说/oldsite/images/kittens.jpg
或/oldsite/css/styles.css
。