• 締切済み

PHPでhttp上の外部ファイルをrequireしたい

PHPでhttp上の外部ファイルをrequireしたいのですが、変数がうまく 参照できません。例えば以下のようにすると、common1.phpの中で $a=$a+1 と書いても、11と出力されずに10と出力されます。 (require自体はうまく行っているようで、common1.phpの中で print等を書くとそれ自体は問題なく実行されます。) require("./common1.php")のようにファイル指定だと問題なく11と 出力されます。原因・解決方法等ご存じのかたがいらっしゃったら 教えてください。FedoraCore4 PHP5.0.4です。 <?php $a = 10; require("http://hogehoge/common1.php"); print "$a"; ?>

  • PHP
  • 回答数2
  • ありがとう数2

みんなの回答

  • php504
  • ベストアンサー率42% (926/2160)
回答No.2

http経由とサーバ内操作は違いますよ。 require("http://example.com/common1.php"); の場合はブラウザでhttp://example.com/common1.phpにアクセスして表示される結果(ソース表示の内容)が読み込まれるだけです。 common1.phpを <?php echo '<?php $a=$a+1 ; ?>'; ?> のようにすれば希望の動作は得られますが。

kenken_pa
質問者

お礼

下にも書きましたがさっき気づきました。ありがとうございます。

  • hola1973
  • ベストアンサー率45% (5/11)
回答No.1

私は問題なく表示されますよ。 inc.php <? $a = $a + 1; ?> main.php <? $a = 10; require('./inc.php'); echo $a; ?> 結果:11 同じように記載してみてもだめですか?

kenken_pa
質問者

お礼

ローカルでなくhttp上のファイルです。 でもよく考えたらダメなような気がします。httpプロトコルで 取ってくる以上は、common1.phpのhttp上の結果が出力されるだけで コードをそのまま持ってくるわけじゃないですもんね…

関連するQ&A

  • phpで別のファイルの変数に代入する方法

    ちょっとややこしくなりますが、よろしくお願いします。 [a.php]と[b.php]というファイルを用意します。 [a.php] ------------------ <?php echo $hogehoge ; ?> ------------------ [b.php] ------------------ <?php $hogehoge = 'hogehoge' ; require('a.php') ; ?> ------------------ という風にして結果を ------------------ hogehoge ------------------ としたいのですが、他のファイルを呼び出す時に変数を指定するにはどうしたら良いのでしょうか。 また、その際に気をつけなければならないことがあれば教えて下さい。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • Perl require 共通の変数 外部ファイル

    ファイルが多くなってきて、その中でも共通の変数があるので 外部ファイルにまとめたい・・・ ~test.pl~ #!/usr/bin/perl require("testcommon.pl"); print qq(Content-type: text/html\n\n); print <<END; <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=$CHARSET"> <title>外部CGIファイル読み込み</title> </head> <body> END print qq($test<br>$data<br>$NEW); print <<END; </body> </html> END exit; 1; ~testcommon.pl~ #!/usr/bin/perl $test = "テスト"; $data = "テストです"; $CHARSET = "UTF-8"; $NEW ="サーバー"; 1; まずこれが現在テスト中で サーバーAでは、これでいけているのですが、 サーバーBでは、これではいけず、 エラーログを見ると 「@INC~/usr/local/lib64/perl5~」 とでてます。これがどのような意味をささしているのかわからないです。 いつも1行目に書く「#!/usr/bin/perl」の部分を書き換えてみたのですが・・・ さらにサーバーBでは、ログファイルなど開く際、フルパスでないと開けません。 require("testcommon.pl");←これですと インターネットサーバーエラーとなってしまいます。 これはエラーログを見るとフルパスで指定と書いていたので、 require("/path/path/path/testcommon.pl"); のようにしました。 これで、一応表示はできたのですが、 testcommon.plで新しい変数を書き加えると、($NEW123 = "追加したい変数";) 表示されません。 またCHARSETでUTF-8を指定してますが、 更新や、再度ページに入ったりすると、 CHARSETの変数が反応していなかったりしています。ページでソースを確認すると 変数の部分が空欄になってます。 これは require("/path/path/path/testcommon.pl"); が読み込んでいなかったり読み込んでいたり もしくは、一度なにをしたのかわからないですが、このフルパスの場所に testcommon.plのファイルをおいて、そのときのままになっている など、原因、対処がわからず困っております。 ※というより結論としては、 共通の変数を1つのファイルでしようしたいということです。 ~common.pl~ $a = 123; $b = "テスト"; $c = 2; ~test1.pl~ $TEST = $a * $c; print "$b$TEST\n"; #結果「テスト246」 ~test2.pl~ $TEST123 = $a + $c; print "$TEST123$b; #結果「125テスト」 このような感じ・・・(+_+)

  • phpで外部ファイルを取り込み変数にセットしたいです。

    phpで外部ファイルを取り込み変数にセットしたいです。 いつもお世話になっております。 外部ファイル(data.ini)を作ってphpで読み込み変数にセットして ブラウザに表示したいのですが外部ファイルを読み込む方法が わかりません。 外部ファイルの中身は 変数A=1 変数B=2 という変数が保存されています。 これを読み込んでphp側で取得、表示したいのですが 可能でしょうか?ご教示お願いします。

    • ベストアンサー
    • PHP
  • require ?

    イメージでの説明での勝手な質問ですみません。 PHPで・・・ $変数 = require ("fileame.php"); として filename.php で abcde と printしていたものを $変数に入れることはできますでしょうか? 概要としては、$_SERVERに入った環境変数をそのまま、filename.phpで解釈させて 戻ってきたものを $変数に入れるものです。 言い換えれば、パイプと同等ですが、できれば perlでは open (PIPE,"programname |"); と同じようなことをして、別プロセスが発生しない方法が望ましいです。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPで同ページ内の外部ファイル表示切替の方法。

    初めて質問します。 PHPを利用し、同ページ内で、外部ファイルの表示切り替えをしたいのですが、PHPを覚えたばかりでうまくできません。 下記のような形でページ内で切り替え表示させるには、どうしたらいいのでしょうか。 ------- メニュー:<a href="a.txt">A</a> <a href="b.txt">B</a> <a href="c.txt">C</a> <?php require_once("./外部ファイル.txt"); ?> ----- 外部ファイル.txt の部分を、メニューのリンクに合わせて、a.txt、b.txt、c.txtのように、同ページ内で切り替え表示がしたいです。 リンクを<a href="index.php?~">と言う形にし、<?php require_once("./外部ファイル.txt"); ?>の中にif関数を入れればいいのではないか… と思っているのですが、どの関数をどのように組み合わせればいいのかが、お恥ずかしながらわかりません。 どなたか、教えていただけるとうれしいです。よろしくお願いします。

    • 締切済み
    • PHP
  • requireで呼び出したデータを変数に入れるには

    <?php $test = require_once 'date.html'; print "<p>$test</p>"; ?> このソースだと、requireで呼び出したデータを変数に保存できないのですが、 どうすれば変数に保存できますか?

    • ベストアンサー
    • PHP
  • PHPのセッション変数について

    ページの構成が代わり、A-B-Cと順番だったのをA-Cと変更しました。 AからCリンクにとぶように設定したのですが、リンクを変更していてもBのページに行ってしまいます。 このプログラムを作った人に聞きましたところ、 if{session("user_sbt") というセッション変数で、新しく作られた画面のところで何もセットしていなければ初めの画面(B)に戻るというプログラムが走っているそうです。作った人に直してもらえたら良いのですが、事情で日本にはいないので、わかる方教えてください。よろしくお願いします。 PHPファイルの上部には session_start(); require_once("../_common/head.php"); require_once("../_common/mysql.php"); というセッション変数が記入されています。

    • 締切済み
    • PHP
  • 外部ファイルを読み込みたいのですが。

    ASP.NETにおいて、 PHPの「include()」もしくは「require()」ような、 外部ファイルを読み込み表示させる命令はあるのでしょうか? よろしくお願いします。

  • require_once で読み込まれたか?

    初心者です。教えて頂けますか? require_once で読み込んだと思われるファイルの機能を使用したのですが、 機能した様子がありません。 require_once で読み込めない場合エラーが出るのでしょうか? 以下の様にしても駄目でした。 どの様にすれば良いでしょうか?よろしくおねがいします。 <?php $result = require_once("Auth/Auth.php"); if( $result == True ){ print("True"); } else { print("False"); } ?>

    • ベストアンサー
    • PHP
  • Requireできない...

    requireされる側のファイルに、 $name = "A"; などと特定の文字A(仮に)を変数に代入しておくと、requireしたときにScript Errorになります。この1行というより、この文字Aを消すだけでエラーは解消されるのですが、これはどういう理由からでしょうか。 特殊な文字ではないので、よくわかりませんでした。

    • ベストアンサー
    • Perl