1

我的客户已经迁移了他的服务器,服务器地址相同,但是内部文件夹结构发生了变化,我正在使用一个 PHP 函数,该函数需要文件的服务器路径

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

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

有没有办法找出来?

4

2 回答 2

10

由于这是 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.

于 2014-07-18T21:28:39.913 回答
2

使用魔法常数__FILE__

于 2012-05-29T18:39:37.217 回答