如何获取文件的物理路径?

ste*_*eps 1 php file path

我的客户端迁移了他的服务器,服务器地址是一样的,但内部文件夹结构已经改变,我正在使用一个需要服务器路径到文件的PHP函数

例如,网站地址是www.example.com/file.php,我的功能是使用如下路径:

require_once('/var/www/file.php');
Run Code Online (Sandbox Code Playgroud)

有没有办法找出来?

Jef*_*eff 8

由于这是谷歌的第一次打击,根据问题的精神,接受的答案是不完整的,这里是完整的答案.


__FILE__像John Conde所说的那样是一个神奇的常数,但它只为你提供了当前正在执行的PHP文件的物理路径.

__DIR__获取当前执行文件的目录.或者,您也可以使用dirname(__FILE__)

$_SERVER['DOCUMENT_ROOT'] 获取Web根的物理路径,例如 /var/www/example.com/httpdocs

例如,假设您的网站具有以下文件夹结构:

|-foo
|  |-bar
|     |-executing.php
|-biz
   |-required.php
Run Code Online (Sandbox Code Playgroud)

可以说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";
Run Code Online (Sandbox Code Playgroud)

当然,在任何这些示例中,您也可以使用require_once而不是require.