PHP获取文件绝对路径的方法
回答 3
浏览 10.6万
2016-11-03
有没有办法在将文件包含在另一个脚本中时获取文件的绝对路径?
因此,我尝试在文件夹 B 中包含文件夹 A 中的文件,但它一直尝试引用文件夹 B 的位置。
我尝试过dirname
、$SERVER['PHP_SELF']
、cwd()
,但它们仍然返回相对路径。
试试这个 echo $_SERVER["DOCUMENT_ROOT"];
- JYoThI 2016-11-03
@SuperCoolHandsomeGelBoy 不,这只给了我
/var/www/html
。我的文件嵌套在另外几个文件夹中。
- A. L 2016-11-03
3 个回答
#1楼
已采纳
得票数 51
你可以这样尝试
include dirname(__FILE__).'/../yourfile.php';
从 PHP 5.3.0 开始,您还可以使用魔术常量 __DIR__
更多信息在文档中
另一种方法是
$rootDir = realpath($_SERVER["DOCUMENT_ROOT"]);
include "$rootDir/yourfile.php";
+1!这让我想到了这条(常见?)行:
$base_dr = basename(__DIR__);
(结构顶部的目录以某种方式驱动业务逻辑)。
- WEBjuju 2018-07-26
由于某些奇怪的原因
$rootDir = realpath($_SERVER["DOCUMENT_ROOT"] .'/../yourfile.php' );
不起作用
- user1986815 2021-09-27
#2楼
得票数 16
__FILE__
这是正在执行的文件的绝对路径。
简单的用法示例:
echo __FILE__;
echo "This file is: " . __FILE__;
这个比较简单易记
- Billal Begueradj 2019-10-30
#3楼
得票数 2
如果您需要真实路径,可以使用 SplFileInfo。
$path = new SplFileInfo(__FILE__);
echo 'The real path is '.$path->getRealPath();