我的客户已经迁移了他的服务器,服务器地址相同,但是内部文件夹结构发生了变化,我正在使用一个 PHP 函数,该函数需要文件的服务器路径
例如,网站地址是 www.example.com/file.php,我的函数使用如下路径:
require_once('/var/www/file.php');
有没有办法找出来?
由于这是 Google 上的第一次点击,并且根据问题的精神,接受的答案是不完整的,这里是完整的答案。
__FILE__
就像 John Conde 所说的那样是一个神奇的常数,但它只为您提供当前正在执行的 PHP 文件的物理路径。
__DIR__
获取当前执行文件的目录。或者,您也可以使用dirname(__FILE__)
$_SERVER['DOCUMENT_ROOT']
获取到 Web 根目录的物理路径,例如/var/www/example.com/httpdocs
例如,假设您的网站具有以下文件夹结构:
|-foo
| |-bar
| |-executing.php
|-biz
|-required.php
可以说executing.php
是当前正在执行的文件并且您想要包含required.php
. 你有几个选择。
//relative to the file
require __DIR__ . "/../../biz/required.php";
require dirname(__FILE__) . "/../../biz/required.php";
//relative to the web root
require $_SERVER['DOCUMENT_ROOT'] . "/biz/required.php";
当然,在任何这些示例中,您也可以使用require_once
代替require
.