如何使用__dir__?

Jos*_*fPP 23 php dir

我想用__dir__.

但是,我找不到任何关于如何设置它的好教程.我在Dropbox中有我的htdocs.

它有效吗?

 define(__DIR___, 'd:documents/dropbox/yolo/swag/htdocs/myproject/test/newtest/
 testphp/test_new/testincludes/1/new_folder/')
Run Code Online (Sandbox Code Playgroud)

这是我的项目所在的目录,它有子文件夹.我想将文件包含在父文件夹中的另一个文件中.

我应该只输入:

 include'__DIR__/warlock.php'; 
Run Code Online (Sandbox Code Playgroud)

或者我必须输入这样的东西?

 include '___DIR__/wow/newb/guidesfornabz/classes/casters/warlock.php'; 
Run Code Online (Sandbox Code Playgroud)

How*_*owl 53

您可以使用它__DIR__ 来获取当前脚本的目录.它自版本5.3以来一直在PHP中,它与使用相同dirname(__FILE__).在大多数情况下,它用于包含来自包含文件的另一个文件.

考虑在一个名为的目录中有两个文件inc,它是我们项目目录的子文件夹,index.php文件位于该文件夹中.

project
??? inc
?   ??? file1.php
?   ??? file2.php
??? index.php
Run Code Online (Sandbox Code Playgroud)

如果我们include "inc/file1.php";index.php它会奏效.但是,从file1.php包括file2.php我们必须做一个相对于index.php的包含而不是从file1.php(so,include "inc/file2.php";).__DIR__修复此问题,因此file1.php我们可以这样做:

<?php
include __DIR__ . "/file2.php";
Run Code Online (Sandbox Code Playgroud)

要回答您的问题:要包含所warlock.php包含文件的上层目录中的文件,这是最佳解决方案:

<?php
include __DIR__ . "/../warlock.php";
Run Code Online (Sandbox Code Playgroud)