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') を使用します //
を試してください------その他の解決策------ ---- ------------
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、それが私が理解している方法です。