MT4のテンプレート作ってる時にPHPではまったのでメモ
$cat includetest.php
<?php
$value = "aaaaaaaaaaa";
require "http://loumo.jp/inc.php";
$cat inc.php
<?php
echo $value;
一間問題なく動きそうなコードだが、includetest.phpを実行しても$valueの値は表示されなかった。requireの値をURLでない指定"inc.php"のみなどにすると$valueは表示される。php.iniでallow_url_includeをoffにしたらエラー出るし、そうでなければ普通に動きそうだが不思議。
ためしたのはlolipop(PHP4)と自分のマシン(PHP5) どっちも同じ結果だった。PHPマニュアルのinclude回り見ても特に書いてないような・・・ うーん、なにか見落としてるかな。
-- 追記
今朝なにげなく2chPHPくだ質見たらテンプレに書いてあった。URLでincludeするとPHPの実行結果がかえってくるのね。
-- さらに追記
タイトル間違ってたはずかしい。
Sponsored Link
コメント
requireじゃなくてincludeで、しかも相対パスしか使わない俺には関係ない話だな。
というか、httpから指定すると他スペースの可能性があるから上記のような仕様なんじゃね?
MTだとMTBlogURLで指定すると楽なんだ。と思ってドキュメントみたらMTStaticWebPathとかMTBlogSitePathとかあった。
つーか他URLのphpを実行しないままincludeできたら問題ありすぎだ。