好的,我有一种情况,我在不同的目录中有几个文件,需要弄清楚如何将它们连接在一起。结构如下:
好的,所以在我的两个index.php文件中都有这个包括引用db.php:
的index.php
<?php include("elements/includes/db.php"); ?>
和 secure / index.php
<?php include("../elements/includes/db.php"); ?>
现在在db.php文件中,我有以下对config.ini的引用:
$config = parse_ini_file('../../../config.ini');
我知道它没有提升,因为它应该是相对于index.php而不是db.php,但我如何正确引用这些文件?我希望我的config.ini在public_html目录之外。
答案 0 :(得分:1)
另一种方法是使用魔术常数,例如__DIR__
,请参阅Predefinied Constants。
.
├── config.ini
└── public_html
├── elements
│ └── includes
│ └── db.php
├── index.php
└── secure
└── index.php
<强>的public_html /元件/具备/ db.php中强>
<?php
$config = parse_ini_file(
__DIR__ . '/../../../config.ini'
);
<强>的public_html / index.php的强>
<?php
include __DIR__ . '/elements/includes/db.php';
<强>的public_html /固定/ index.php的强>
<?php
include __DIR__ . '/../elements/includes/db.php';
注意:我建议使用require
代替include
,请参阅require。
答案 1 :(得分:0)
使用$_SERVER['DOCUMENT_ROOT']
,这样您就不需要计算每个文件的相对路径:
$config = parse_ini_file($_SERVER['DOCUMENT_ROOT'].'/../config.ini');