-1

ファイル ツリー。

  • boot.php
  • パネル/index.php
  • panel/inc/start.php
  • panel/inc/functions.php

プロセス:

  • index.php; 「inc/start.php」が必要です
  • start.php; 「../boot.php」と「functions.php」が必要です
  • (require_once 'x.php' を使用)

index.php が呼び出されると、すべてが機能します。../boot.php の代わりに ../../boot.php を使用する必要がないのはなぜですか? 相対フォルダーが /panel の場合、require 'functions.php' は失敗するはずです。/panel/inc の場合、require '../boot.php' は失敗するはずです。しかし、すべてが機能します。どのように?

注:ファイルを含めるには絶対フォルダーを使用する必要があることを知っています。この例がどのように機能するかを理解しようとしています。

4

2 に答える 2

2

PHPマニュアルに関しては:

http://php.net/manual/en/function.require-once.php

http://www.php.net/manual/en/function.include.php

パスが定義されている場合 — 絶対パス (Windows ではドライブ文字または \、Unix/Linux システムでは / で始まる) または現在のディレクトリに対する相対パス (. または .. で始まる)

PHP がファイルをインクルード/要求する場合、現在のファイル位置からの相対パスを探します。

于 2012-11-27T18:55:55.403 に答える
0

index.php ファイルは、処理中に inc/start.php をインクルードします。だからあなたのindex.phpは次のようになります

<?php 
 //inc/start.php file content here
 //require '../boot.php';

したがって、boot.php は、index.php 自体から含めて、そのように含まれます。

于 2012-11-27T18:56:54.070 に答える