php require_once重置为当前工作目录

时间:2010-03-05 23:30:22

标签: php

这是一个远景,但我有一个类似这样的文件:

文件结构: /some/path/start.php

<?php
require_once '../../another/path/test.php';
?>

/another/path/test.php /另一/路径/图像/

<?php 
test.php
hello<img src='images/1.jpg'>
?>

我正在寻找一种方法来获取所需文件(test.php)以正确加载图像(基本上重置它认为是currrent目录的文件)。我不想强迫人们使用absolue路径,并且真的不想在那里添加一些变量。是否有一个PHP构造来处理这个?我正在使用Zend_Framework。也许相反,一个构造有多个index.php文件,它们通过绝对路径映射到我的Zend Framework的起始脚本。

任何想法都会受到赞赏吗?我有以下有一个优雅的sol'n - 我只是没有看到它。

2 个答案:

答案 0 :(得分:4)

我总是使用:

require_once(dirname(__FILE__).'/path/to/other/script/relative/to/this/file.php');

或者在你的情况下:

require_once(dirname(__FILE__).'../../another/path/test.php');

这样你就可以确定你是从相对于你正在编辑的文件中包含的。

答案 1 :(得分:0)

我不确定我是否理解正确 - 请原谅我 - 如果我不这样做 - 但我认为你错误地认为包含和生成的HTML文档之间的关系。 HTML文档中的所有链接都是相对于其URL 。 URL是否从包含内输出,以及包含的内容是完全无关紧要的。

您可能需要查找当前的Web根目录,并输出相对于该目标的图像链接。