包含的引用文件位置的PHP文件总是会更改


Included PHP file that references a file - location always changes

很难用词来形容标题。基本上,我有一个PHP类,它可以读取数据并将数据写入文件系统中的文件。我需要从几个脚本中访问这些数据,所以我创建了一个加载数据的类的中心实例,并试图通过包括我需要访问数据的脚本来引用它。这样做的问题是,类加载和写入的文件的路径是相对于脚本执行include的路径,而不是对象实例化的PHP文件。

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

看到您知道要访问的文件相对于您所在的php脚本的位置:如果您使用__DIR__魔术常数,您可以完全确定。

require_one__DIR__。'/known_location/file_required.php’;

或适用于5.3 之前的php版本

require_one目录名(__FILE __)/known_location/file_required.php’;

yoursite.com/index.php?page=分区

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';

我想我将使用以下解决方案之一:

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