【发布时间】:2012-01-23 10:27:11
【问题描述】:
我确定我遗漏了一些简单的解释,但我想确认一下 - 所以假设我知道的很少。
我有一个这样的目录结构(暂时):
我的主站点(我的测试服务器上的 localhost/project/ 和我的 HDD 上的 C:/xampp/htdocs/project)包含这些文件和文件夹:
Root
graphics
variousgraphics.png
support
stylesheet.css
templates
header.php
footer.php
initialize.php
you
default.php
index.php
anotherfile.php
在我创建文件夹“you”之前一切都很好,即我将 index.php 的初始化文件包含为 <?php include(templates/initialize.php) ?>
但是当我决定使用上述方法为 default.php 文件(在“你”内)包含 initialize.php 时,它会出错Warning: include(templates/initialize.php) [function.include]: failed to open stream: No such file or directory in C:\xampp\htdocs\photoquilt\you\default.php
所以我很自然地附加了../ 来创建<?php include(../templates/initialize.php) ?>,但是这当然不起作用,因为initialize.php 中引用的文件没有以相同的方式附加,所以我到了这里。
对我来说值得注意的是,$_SERVER['document_root'] 的回显会导致 C:/xampp/htdocs
总之:
有什么方法可以确保所有链接/路径都能正常工作,而不管原始路径来自哪里?
【问题讨论】:
标签: php directory path nested relative-path