web-dev-qa-db-ja.com

__dir__の使用方法

__dir__を使用したい。

ただし、設定方法に関する優れたチュートリアルは見つかりません。 Dropboxにhtdocsがあります。

これは次のように機能しますか?

 define(__DIR___, 'd:documents/dropbox/yolo/Swag/htdocs/myproject/test/newtest/
 testphp/test_new/testincludes/1/new_folder/')

それは私のプロジェクトがあるディレクトリで、サブフォルダがあります。親フォルダーにある別のファイルにファイルを含めたい。

次に入力する必要があります:

 include'__DIR__/warlock.php'; 

または、このようなものを入力する必要がありますか?

 include '___DIR__/wow/newb/guidesfornabz/classes/casters/warlock.php'; 
21
JosefPP

___DIR___を使用して、現在のスクリプトのディレクトリを取得できます。 PHPバージョン5.3以降のみで、dirname(__FILE__)を使用するのと同じです。ほとんどの場合、インクルードファイルから別のファイルをインクルードするために使用されます。

incという名前のディレクトリに2つのファイルを置くことを検討してください。これは、プロジェクトのディレクトリのサブフォルダで、_index.php_ファイルがあります。

_project
├── inc
│   ├── file1.php
│   └── file2.php
└── index.php
_

_include "inc/file1.php";_から_index.php_を実行すると動作します。ただし、_file1.php_から_file2.php_をインクルードするには、インクルードindex.phpに関連を実行する必要があり、_file1.php_からではありません(つまり、_include "inc/file2.php";_)。 ___DIR___はこれを修正するため、_file1.php_から次のことができます。

_<?php
include __DIR__ . "/file2.php";
_

質問に答えるには、インクルードファイルの上位ディレクトリにあるファイル_warlock.php_をインクルードするには、これが最適なソリューションです。

_<?php
include __DIR__ . "/../warlock.php";
_
48
Howl