yk_test | --AAA.php | --sub | --BBB.php | --CCC.php
AAA.php
1<?php 2//AAA.php 3echo "I'm AAA!!!"; 4 5require_once("sub/BBB.php"); 6 7?>
BBB.php
1<?php 2//BBB.php 3echo "I'm BBB!!!"; 4echo "<br>"; 5 6echo dirname(__FILE__); 7echo "<br>"; 8require_once("CCC.php"); 9 10?>
CCC.php
1<?php 2//CCC.php 3echo "I'm CCC!!!"; 4echo "<br>"; 5 6?>
result
1I'm AAA!!!I'm BBB!!! 2C:\xampp\htdocs\yk_test\sub 3I'm CCC!!!
phpのrequire,require_onceを使って読み込んだ時に起こる問題について。
いくつかのブログなど見ての私の現在の認識としましては、
上記ディレクトリ構成でAAA.phpを実行した時に、CCC.phpを読み込めなくてエラーが発生する。
なぜならBBB.phpがCCC.phpを読み込むとき、実行ファイルであるAAA.phpがある場所をカレントディレクトリ
としてCCC.phpを探す。つまり
yk_test/CCC.php
を探す。しかしyk_test/CCC.phpは存在しないので読み込めない。
だから問題が起こらないようにBBB.phpにてCCC.phpを読み込むコードは
require_once(dirname(__FILE__)."CCC.php");
と書きましょうね。
ということだと思うのですが、
①上記認識で間違いないでしょうか?
②実際AAA.phpを実行すると上記のように、エラーが発生せずCCC.phpを読み込んで結果が出るのですが、これは何か変更があったのでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/06 02:42
2019/07/06 02:48
退会済みユーザー
2019/07/06 02:54