我正在处理位于/folder1/folder2/folder3/index.php的index.php文件,并包含一些PHP代码,如下所示:
<?php
include $_SERVER['DOCUMENT_ROOT'].'/path/to/the/filename.php';
$root = new SimpleXMLElement($xmlstr);
echo $root->subroot[0]->data->title;
?>
filename.php 不会更改名称或扩展名。但是,导致filename.php的文件夹和子文件夹根据当前情况具有不同的名称。
例如,在一个实例中,文件夹名为/a1/a2/a3/filename.php,另一个名称为/b1/b2/b3/filename.php。 Filename.php在所有实例中都带有相同的名称,但里面包含不同的数据。
如果有帮助,filename.php结构如下:
<?php
$xmlstr = <<<'XML'
<?xml version='1.0' standalone='yes'?>
<root>
<subroot>
<data>
<title>
-- some text here --
</title>
</data>
</subroot>
</root>
XML;
?>
由于已经创建了文件夹和子文件夹并且它们的名称已知,我希望(如果可能的话)将/ path /编码为/ the /,因此用户无需输入相应的内容path每次都创建一个新的index.php文件。我尝试这样的事情:
<?php
include $_SERVER['DOCUMENT_ROOT'].['__DIR__']'filename.php';
$root = new SimpleXMLElement($xmlstr);
echo $root->subroot[0]->data->title;
?>
...和
<?php
include $_SERVER['DOCUMENT_ROOT'].['REQUEST_URI']'filename.php';
$root = new SimpleXMLElement($xmlstr);
echo $root->subroot[0]->data->title;
?>
......但两人都不能工作。有什么建议或想法吗?
答案 0 :(得分:1)
尝试使用
__DIR__ . DIRECTORY_SEPARATOR . 'filename.php';
http://php.net/manual/en/dir.constants.php http://php.net/manual/en/language.constants.predefined.php