1. ホーム
  2. php

[解決済み] dir__の使い方は?

2022-03-03 20:57:52

質問

を使いたいのですが __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'; 

解決方法は?

を使用することができます。 __DIR__ を使えば、現在のスクリプトのディレクトリを取得することができます。これは、バージョン 5.3 以降の PHP にのみ搭載されている機能で dirname(__FILE__) . ほとんどの場合、インクルードされたファイルから別のファイルをインクルードするために使用されます。

というディレクトリに2つのファイルがあるとします。 inc は、プロジェクトのディレクトリのサブフォルダであり、ここで 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";