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

时间:2012-05-29 18:38:43

标签: php file path

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

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

require_once('/var/www/file.php');

有没有办法找出来?

2 个答案:

答案 0 :(得分:8)

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


__FILE__是一个魔法常量,就像John Conde所说,但它只为你提供了当前正在执行的PHP文件的物理路径。

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

$_SERVER['DOCUMENT_ROOT']获取网络根目录的物理路径,例如/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

答案 1 :(得分:2)