###前提・実現したいこと
「includeは絶対パスを指定しよう」的な記事が多かったので、相対パスでやっていた部分を絶対パスに変えたところ、これまで呼び出せていたユーザー定義関数が呼び出せなくなってしまいました。
相対パスならインクルード元のindex.htmlからインクルード先のtest.php内のtestfunc()を呼び出すことが出来る(①の部分)のですが、絶対パスだと出来ません。しかし絶対パスの場合も③の部分は実行できているため、ファイルを読み込むことは出来ているはずなのですが、ユーザー定義関数が呼び出せません。
また、インクルード先(②の部分)で呼び出しているとインクルード元のecho $test;は実行出来ます。
一応実現できないわけでは無いのですが、絶対パスと相対パスの挙動の違いや使い分け方がイマイチ分からず、調べてもそれらしい答えが見つかりませんでした。
上記の使い方で問題なければ良いのですが、わからないまま何となく使うのがモヤモヤしてるので質問させて頂きました。
解る方いましたら詳しく解説して頂けませんか?
よろしくお願いします。
###発生している問題・エラーメッセージ
Fatal error: Uncaught Error: Call to undefined function testfunc() in
エラーメッセージ ``` ###該当のソースコード インクルード元(index.html) <?php include_once "http://localhost/hoge/test.php"; $test = testfunc();//① echo $test; ?> ---------------------------------------- インクルード先(test.php) <?php //$test = testfunc();//② var_dump("TEST"); // ③ function testfunc(){ $result = "てすと"; return $result; } ?> ###試したこと 上記のとおり。 ###補足情報(言語/FW/ツール等のバージョンなど) PHP Version 7.2.0 xamppのapacheでローカル環境でやっています。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/01/19 08:12