目次
PHP での require() ファイルインクルードの正しい使用方法を知っておく必要があります。
ホームページ バックエンド開発 PHPチュートリアル PHP での require() ファイルの正しい使用法について知っておくべきこと、_PHP チュートリアル

PHP での require() ファイルの正しい使用法について知っておくべきこと、_PHP チュートリアル

Jul 13, 2016 am 09:50 AM
require ファイルの内容

PHP での require() ファイルインクルードの正しい使用方法を知っておく必要があります。

過去にいくつかの PHP フレームワークのソース コードを見たとき、ファイル パスをまとめるために dirname (__FILE__) が使用されていたのは奇妙でした。ファイルも含めて、私はこれを行う利点を知りませんでした。後でようやくその理由がわかりました。

簡単な例を見てみましょう:

php ファイルは a、b、c の 3 つあります。 a.php は Web サイトのルート ディレクトリにあり、b.php は b フォルダー (b/b.php) にあり、c.php は c フォルダー (c/c.php) にあります。何かの混乱?写真を見れば一目瞭然です

a.php と b.php には両方とも c.php が含まれており、最後に c.php には d フォルダー (d/d.php) に php ファイルが含まれています。

まず a.php を見てみましょう:

リーリー

これは非常に単純なコードです。印刷後、c/c.php を確認する必要があります。 リーリー

「これは c.php です。a.php で必要です」という出力を印刷します。$file_name は a.php で定義された変数です。最後にd.phpがインクルードされます。 dフォルダは現在のc.phpファイルの一つ上にあるので、常識的には当然パスは「../d/d.php」と書きます。ただし、残念ながらエラーが報告されます。その理由は、c.php などのインクルード ファイルに他のファイルをインクルードする場合、そのパスは最も外側の親ファイル、つまり a.php を基準とした相対パスになり、あなたが私にインクルードされていると理解できるからです。 , だから、あなたは私を頼らなければなりません。非常に謎に思えますが、原理は実際には非常に単純です。require('c/c.php'); を c/c.php ファイル内のコードとして考えることができ、a.php は次のようになります。 :

リーリー

この時点で、d/d.php ファイルをインクルードしたいときのパスが間違っていることがわかりますか?ここでは a.php コード内にいるため、a.php ファイルに対する相対パスになります。もちろん、パスは require('d/d.php'); である必要があります。コードを次のように変更します:

リーリー

この時点ではまだ意味を理解していないので、b/b.php を見てみましょう:

リーリー

説明の必要はありませんが、問題はありませんが、require('../c/c.php'); を c/c.php のコードに置き換えると問題が発生します。注意してください。 c/c.php のコードを変更し、require('../d/d.php'); を require('d/d.php') に変更しました。以下のコードを見てください。 リーリー

つまり、b/b.php と比較すると、require('d/d.php'); のパスは間違っており、require('../d/d.php'); である必要があります。戻って c/c.php の require パスを変更すると、b/b.php は正常に実行できるが、a/a.php は c を共有できないというのは本当ですか。 /c? .php、全身に影響します、どうすればいいですか?

この時点で、記事の冒頭で述べた dirname(__FILE__) に戻ります。これは良いことであり、上記の問題を完全に解決できます。これを使用すると、どのファイルにファイルが含まれているか、またそのファイルがどのパスにあるかを気にする必要がなくなります。 dirname(__FILE__) で相対パスを指定できるため、親ファイルのレベルを気にする必要がなくなります。現行ファイル。つまり、c/c.php の require パスを次のように変更する必要があります:

リーリー
ここでは、c/c.php を参照するだけで済みます。それに比べて、d/d.php は上位にあります。このように、基準は 1 つだけです。つまり、あなたが私を含めるか、彼が私を含めるかに関係なく、私は自分自身を基準としてのみ使用し、含めたいファイルは自分自身に対して相対的なものにすぎません。

dirname(__FILE__) が理解できない実践者の方は、Google で検索してください。非常に簡単です。

これで PHP テクノロジーの共有は終了です。ご質問や間違いがございましたら、メッセージを残してください。ちなみに、これは私の最初の標準的な技術ブログ投稿です。最初の記事は水文学、二番目の記事は準技術記事、そして今日はついに技術記事を書きました、Ou Ye。

http://www.bkjia.com/PHPjc/1015424.html

tru​​ehttp://www.bkjia.com/PHPjc/1015424.html技術記事 PHP での require() ファイルのインクルードの正しい使用法を知っておく必要があります。以前、いくつかの PHP フレームワークのソース コードを見たとき、ファイルがインクルードされるときにファイル パスをまとめるために dirname(__FILE__) が使用されていたのは奇妙でした。 ..
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

vue3+vite: src に画像を動的にインポートするために require を使用するときのエラーを解決する方法 vue3+vite: src に画像を動的にインポートするために require を使用するときのエラーを解決する方法 May 21, 2023 pm 03:16 PM

vue3+vite:src は、イメージとエラー レポートと解決策を動的にインポートするために require を使用します。vue3+vite は複数のイメージを動的にインポートします。vue3。TypeScript 開発を使用している場合、イメージを導入するために require のエラー メッセージが表示されます。requireisnotdefined は使用できません。 vue2 のような imgUrl:require(' .../assets/test.png') は、typescript が require をサポートしていないため、インポートされます。そのため、import が使用されます。解決方法は次のとおりです: awaitimport を使用します

require の用途は何ですか? require の用途は何ですか? Nov 27, 2023 am 10:03 AM

require の使用法: 1. モジュールの導入: 多くのプログラミング言語では、require は外部モジュールまたはライブラリを導入し、それらが提供する関数をプログラム内で使用できるようにするために使用されます。たとえば、Ruby では、require を使用してサードパーティのライブラリまたはモジュールをロードできます。 2. クラスまたはメソッドのインポート: 一部のプログラミング言語では、require を使用して特定のクラスまたはメソッドをインポートし、現在のファイルで使用できるようにします。 ; 3. 特定のタスクを実行する: 一部のプログラミング言語またはフレームワークでは、特定のタスクまたは関数を実行するために require が使用されます。

PHP ヘッダーの致命的なエラーを解決する手順: require(): 必要な 'data/tdk.php' を開くことができませんでした (include_path='.;C:\php\pear') PHP ヘッダーの致命的なエラーを解決する手順: require(): 必要な 'data/tdk.php' を開くことができませんでした (include_path='.;C:\php\pear') Nov 27, 2023 pm 12:51 PM

PHP ヘッダーの Fatalerror:require():Failedopeningrequired'data/tdk.php'(include_path='.;C:phppear') を解決する手順 PHP を使用して Web サイトやアプリケーションを開発する場合、さまざまなエラーが発生することがよくあります。一般的なエラーの 1 つは、「fatalerror:require():Failed」です。

PHP ヘッダーの致命的なエラーを解決する手順: require(): 必要な 'data/tdk.php' を開けませんでした PHP ヘッダーの致命的なエラーを解決する手順: require(): 必要な 'data/tdk.php' を開けませんでした Nov 27, 2023 am 10:41 AM

PHP ヘッダーの FatalError:require():Failedopeningrequired'data/tdk.php' を解決する手順 PHP Web サイトを開発および保守するときに、さまざまなエラーや例外が頻繁に発生します。一般的なエラーの 1 つは、「FatalError:require():Failedopeningrequired'data/tdk.php'」です。

Cプリプロセッサ? Cプリプロセッサ? Aug 27, 2023 pm 02:53 PM

C プログラミング言語は、プログラムを効率的に動作させるためのプリプロセッサをサポートしています。 C プリプロセッサは、C ベースのプログラミング言語用のマクロ プリプロセッサです。プリプロセッサは、ヘッダー ファイル、マクロ展開、条件付きコンパイル、行制御を明示的に組み込む機能をコンパイラーに提供します。 #hash タグはプリプロセッサを定義するために使用されます。つまり、すべてのプリプロセッサは # で始まります。これにスペースを入れずにプリプロセッサの名前が続きます。以下は C プリプロセッサのリストです。 S.No. プリプロセッサ 説明 1. #include は、ファイルから特定のヘッダー ファイルをインクルードします。 2. #define はプリプロセッサ マクロを定義します。 3. #undef プリプロセッサ マクロの定義を解除します。 4. #if はコンパイル時の条件をチェックし、True 値に評価します。 5. if プリプロセッサの代替としての #else

PHP 言語開発におけるファイルインクルード脆弱性攻撃を回避するにはどうすればよいですか? PHP 言語開発におけるファイルインクルード脆弱性攻撃を回避するにはどうすればよいですか? Jun 09, 2023 pm 06:55 PM

インターネットの発展と普及に伴い、Web アプリケーションのセキュリティが多くの開発者の焦点になっています。 Web アプリケーションのセキュリティに関しては、ファイル インクルードの脆弱性攻撃は非常に重要なセキュリティ問題です。この脆弱性により、攻撃者はアクセスしたアプリケーションのファイルを操作することができ、悪意のあるコードの実行やデータの変更などの重大な問題が発生する可能性があります。 PHP 言語開発において、ファイルインクルードの脆弱性攻撃を回避するにはどうすればよいでしょうか?一般的な方法のいくつかを次に示します。 1. ファイル パス制限を設定する ファイル パス制限を設定することで、ファイル パス制限を回避できます。

PHPにおけるrequireキーワードの役割と使い方を詳しく解説 PHPにおけるrequireキーワードの役割と使い方を詳しく解説 Jun 28, 2023 pm 11:31 PM

PHPにおけるrequireキーワードの役割と使い方を詳しく解説 PHP開発において、requireは非常によく使われるキーワードです。その機能は、現在のスクリプトで使用するために指定されたファイルをインクルードすることです。この記事ではrequireキーワードの機能と使い方を詳しく解説します。 1. require キーワードの役割 require キーワードは、ファイルの内容を現在のスクリプトに含めることができます。通常、ライブラリ ファイル、設定ファイルなどの必要な外部ファイルを含めるために使用されます。要求を使用する

ある php.ini ファイルを別の php.ini ファイル内に含めるにはどうすればよいですか? ある php.ini ファイルを別の php.ini ファイル内に含めるにはどうすればよいですか? Sep 02, 2023 pm 03:45 PM

メインの php,ini ファイルに .ini ファイルを含めることができません。対照的に、PHP をコンパイルする場合、行 --with-config-file-scan-dir=PATH &a

See all articles