包含引用文件的PHP文件 - 位置始终更改

时间:2012-02-07 18:06:04

标签: php url include

有点难以将其用于标题的单词。基本上,我有一个PHP类,可以读取和写入文件系统中的文件。我需要从几个脚本访问这些数据,所以我创建了一个加载数据的类的中央实例,并尝试通过包含我需要访问数据的脚本来引用它。这样做的问题是,由类加载和写入的文件的路径是相对于正在执行包含的任何脚本而不是实例化对象的PHP文件。

处理此问题的最佳方法是什么?我不能使用绝对URL,因为要部署系统,因此我不知道URL将是什么

3 个答案:

答案 0 :(得分:1)

看到您知道要访问的文件相对于您所在的php脚本的位置: 如果你使用 __ DIR __ 魔法常量,你绝对可以肯定。

  

require_once __ DIR _ _ 。'/ known_location / file_required.php';

或者对于早于5.3的php版本

  

require_once dirname( __ FILE _ _ )。'/ known_location / file_required.php';

答案 1 :(得分:0)

yoursite.com/index.php?page=subdir

if (!isset($_GET['page'] || $_GET['page']==home){
$page = '/';
}elseif($_GET['page']=="subdir"){
$page = '../';
}
else{
// someone messed with the url
header('location: yoursite.com');
}

include $page . 'yourfile.php';

答案 2 :(得分:0)

我想我会使用其中一种解决方案:

http://www.bitflop.com/document/95