ホームページ  >  記事  >  バックエンド開発  >  include での定義の使用に関する質問

include での定義の使用に関する質問

WBOY
WBOYオリジナル
2016-06-13 13:04:34884ブラウズ

include
a.php
におけるdefineの使用について

<br />
<?php<br />
  define( 'PATH',dirname(__FILE__));<br />
  include('./index.php');<br />
  .<br />
  .<br />
  .<br />
?>


b.php
<br />
<?php<br />
  include(../a.php);<br />
  echo PATH;<br />

a.php とindex.php は同じフォルダーにあり、b.php は a.php の親フォルダーにあります。
上記の b.php を実行すると、 include() 関数がindex.php を開けないというエラーが表示され、PATH が出力されます。PAHT の値は a.php の絶対パスです。
インクルード関数の動作メカニズムが何も処理せずにファイルをインクルードすることである場合、インクルード関数が最初にいくつかの関数を処理する必要がある場合、PATH の値は b.php の絶対パスである必要があります。 include('./index.php'); が実行されない理由を尋ねるのはなぜですか?作業をどのように含めて定義するのでしょうか?専門家に聞く
-----最善の解決策-----
include と define の関係は何ですか? a.php
のカレントディレクトリに、index.php はありますか?
2. 定数の PATH は a.php で定義されています。もちろん、これは a.php の絶対パスです
-----その他の解決策----------- -- -------
include('index.php') を使用します //
を試してください------その他の解決策------ ---- ------------

引用:
include('index.php') を使用します //試してください


a.php とindex.php が同じフォルダー内にあるのに、 include('index.php') に変更しました。これはなぜですか?
「.」というのは、現状では「./index.php」と「index.php」は同じではないということでしょうか?
そして、どのように仕事を含めるのでしょうか?
-----その他の解決策---------
《PHPにパスを含める解決策まとめ》このブログ投稿で私の問題は解決されたようです。この問題は __FILE__ で発生していることがわかりました。この記事では、「__FILE__ は、含まれているかどうかに関係なく、常にその実際のパスと等しくなります。」と述べられています。ファイルが含まれているかどうかに関係なく。だからこそ、私が述べたような状況が起こったのです。また、インクルード パスが危険な問題であることも示しています。 ! ! ! !
------その他の解決策---------
a.php にアクセスすると、それは相対的なものになります。 a.php に相対的なものであるため、./index.php と Index.php は両方とも許容されますが、b.php にアクセスする場合は b.php に相対的である必要があるため、./index.php は正しくありません。 /index.php またはindex.php、それが私が理解している方法です。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。