• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:require ?)

PHPでファイルをrequireし、変数に代入する方法

このQ&Aのポイント
  • PHPでファイルをrequireし、変数に代入する方法を教えてください。
  • 概要としては、$_SERVERに入った環境変数をそのまま、ファイルで解釈させて戻ってきたものを変数に入れたいです。
  • 具体的には、Perlのopen (PIPE, 'programname |'); と同じようなことをしたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

filename.phpで評価したデータを取得したいならhttpベースで file_get_contentsでアクセスするのが手っ取り早いかと <?PHP $hoge=file_get_contents("http://localhost/path/filename.php"); print $hoge; ?>

ymda
質問者

お礼

アクセスログは約倍に増えますが、こちらの望みのことができました。 ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • requireで呼び出したデータを変数に入れるには

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

    • ベストアンサー
    • PHP
  • perl でrequireされたファイル自身のフルファイル名を取得する

    perl でrequireされたファイル自身のフルファイル名を取得する方法を教えてください __FILE__ だとパス情報がありません。 また 起動したスクリプトではないので $ENV["SCRIPT_FILENAME"] , $0 では、取得できません。 どこに格納されているのでしょうか? %INCでは、無理ですし、@INCを使う方法では、信憑性にかけます requireするときにパスをグローバル変数に代入せずに どうしてもrequireされたファイル自身で 確実に正確な同じフォルダ名を取得する必要があるのでお願いします。 (※phpでは、__FILE__でフルパスで返ってくるので私の探し方が悪いだけだと思っています) perlでの取得方法の情報を お手数ですがよろしくお願いします

    • ベストアンサー
    • Perl
  • 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
  • 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テスト」 このような感じ・・・(+_+)

  • require_onceの解釈について

    大変恐縮ですが、PHP初心者で、どうしても理解できないので、教えていただけないでしょうか。 【質問】 require_once($_SERVER["DOCUMENT_ROOT"]. "/../libs/MySmarty.class.php")  の解釈について xamppでローカルwindows環境の場合で、 $_SERVER["DOCUMENT_ROOT"]. は c:\xampp\htdocs のことでしょうか。 そして、$_SERVER["DOCUMENT_ROOT"]. "/../libs/MySmarty.class.php" は c:\xampp\htdocs/../libs/MySmarty.class.php ???と私は考えてしまうのですが、 正しくは、どのような考え方になるのでしょうか。 大変お手数をお掛けしますが、よろしくお願い致します。

    • ベストアンサー
    • PHP
  • require_once の結果について

    linux上でphp Ver5.5.28を使っています。 まず、index.phpは <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>テスト・タイトル</title> </head> <body> <h1>require_onceのテストを行います。</h1> <p><?php require_once("test.php"); ?></p> </body> </html> と記入しています。 test.phpは <?php $aaa = "変数に文字を設定します。"; print $aaa; ?> と記入しています。 実行した結果のHTMLを見ると添付ファイルのとおり不明なコードが追加されています。 また、test.phpを <?php ?> のみでやっても不明なコードが作成されてしまいます。 どなたか、原因が分かる方がいらっしゃれば教えていただけないでしょうか。 よろしくお願いします。 その結果のHTMLを見ると、添付画像のとおりゴミが出力されています。

    • ベストアンサー
    • PHP
  • require_onceでファイルが開けない!?

    requre_onceでのファイルの読み込みが上手くいかないらしく、次のようなエラー文が出てしまい困っております。 =========エラー文=================== Warning: require_once() [function.require-once]: URL file-access is disabled in the server configuration in C:\xampp\htdocs\wakuphp\girlup_result_kanryou.php on line 6 Warning: require_once(http://waku2work.com/mysql2.php) [function.require-once]: failed to open stream: no suitable wrapper could be found in C:\xampp\htdocs\wakuphp\girlup_result_kanryou.php on line 6 Fatal error: require_once() [function.require]: Failed opening required 'http://waku2work.com/mysql2.php' (include_path='.;C:\xampp\php\pear\') in C:\xampp\htdocs\wakuphp\girlup_result_kanryou.php on line 6 ================================ 問題の6行目のソースコードは以下の通りです。 ======ソースコード6行目================= require_once("http://waku2work.com/mysql2.php"); ================================ この場合、”require_once”が読み込めて無いって事ですよね!? 一応初心者なのですが、気になるのは3つ目のエラー表示で、ローカルのパス表示が出てる点です。 設定がうまくいってないのでしょうか? 有識者の方いらっしゃいましたら、どうか宜しくお願いします!

    • ベストアンサー
    • PHP
  • 他のサーバにあるphpをrequireしたい

    他のサーバにある変数を引っ張ってくる方法が分からず困っております。 (php.iniのallow_url_includeをonにすれば実行出来たのですが、  offのままで同じ結果になる方法をお教え頂きたく思います。) allow_url_includeをonにした場合には出来た方法↓ 【Aサーバ】にある「a.txt」(a.phpにすると実行出来ませんでした……) <?php $hogeA = 'テキストA'; ?> 【Bサーバ】にある「b.html」 <?php require_once ('http://www.A/a.txt'); echo $hogeA ; ?> b.htmlに「テキストA」を表させたいと考えています。 allow_url_includeを変更せずに出来る代替方法をお教え下さい。 a.phpだと実行出来なかった理由も分からないため、 よろしければこちらもお教え下さい。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • PHP requireでのURLパラメータ指定

    PHPにてアクセスカウンターを作っているのですが、呼び出したときのパラメータにて合計カウント数、本日のカウント数、昨日のカウント数のどれを表示するのか分けるプログラムを作成しました。 直接アドレスバーにて、 http://localhost/counter/count.php?mode=total とパラメータ指定したときにはきちんと表示出来るのですが、他のPHPファイルから require ("./count.php?mode=total"); で呼び出すと、 Warning: require(./count.php?mode=total) [function.require]: failed to open stream: No such file or directory in C:\xampp\htdocs\counter\index.php on line 7 Fatal error: require() [function.require]: Failed opening required './count.php?mode=total' (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\counter\index.php on line 7 というエラーが出てしまいます。 色々調べたところ、相対パス指定のときにはパラメータ指定が出来ないという情報があったので、絶対パスで指定してみたのですが、やはり上手くいきません。 Warning: require() [function.require]: http:// wrapper is disabled in the server configuration by allow_url_include=0 in C:\xampp\htdocs\counter\index.php on line 7 Warning: require(http://localhost/counter/count.php?mode=total) [function.require]: failed to open stream: no suitable wrapper could be found in C:\xampp\htdocs\counter\index.php on line 7 Fatal error: require() [function.require]: Failed opening required 'http://localhost/counter/count.php?mode=total' (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\counter\index.php on line 7 というようにエラーが出てしまいます。 どのようにすれば上手く表示できるでしょうか? 是非回答よろしくお願い致します。

    • ベストアンサー
    • PHP
  • open (FILEHANDLE,"< $filename") or die "エラーメッセージ";について

    下記プログラムでperl_read_writes.txtを出力すると、中身が表示されるのですが、a_perl_read_writes.txt等に名前を変更すると、当然エラーが起きます。 が、die "$filenameを開けません。";の部分の $filenameを開けません。という文章が出力されないのですが、どなたか原因分かりませんか? ================================================== #!/usr/bin/perl print "Content-type: text/html;charset=Shift-JIS", "\n\n"; # HTMLの出力 print "<html>\n"; print "<body>\n"; print "ファイルの読み書き<br>\n"; $filename='/usr/local/apache/htdocs/aaa/bbb/perl_read_writes.txt'; # ファイルオープン open (FILEHANDLE,"< $filename") or die "$filenameを開けません。"; ...以下省略 ================================================== よろしくお願いします。

    • ベストアンサー
    • Perl