web-dev-qa-db-ja.com

ファイルのコンテンツ全体を含めてエコーします

インクルードファイルのコンテンツ全体をエコーする必要があります。私は以下を試しました:

echo "<?php include ('http://www.example.com/script.php'); ?>";

echo "include (\"http://www.example.com/script.php\");";

しかし、どちらも機能しませんか? PHPはこれをサポートしていますか?

12
Elliott

ただしてください:

include("http://www.mysite.com/script.php");

または:

echo file_get_contents("http://www.mysite.com/script.php");

ノート:

  • これにより、ネットワークの待ち時間が原因で、または他のサーバーが遅い場合に、ページの速度が低下する可能性があります。
  • これには、PHPインストールでallow_url_fopenがオンになっている必要があります。一部のホストはオフにします。
  • これはあなたにPHPコードを与えません、それはあなたにHTML /テキスト出力を与えます。
18
ceejayoz

最短の方法は次のとおりです。

readfile('http://www.mysite.com/script.php');

ファイルを直接出力します。

4
Matt

Echoは出力バッファに何かを出力します-それはPHPによって解析されません。何かを含めたい場合は、それを実行してください

include ('http://www.mysite.com/script.php');

PHPソースコードを書いているときは、PHPソースコードを印刷する必要はありません。

1
Adam Wright

これはあなたの質問に対する正確な答えではないかもしれませんが、echoステートメントを閉じ、includeステートメントを挿入してから、新しいechoステートメントを追加してみませんか?

<?php
  echo 'The brown cow';
  include './script.php';
  echo 'jumped over the fence.';
?>
1
Lou Morda

Mattはreadfile()で正しいですが、誰かがPHPファイル処理関数 fpassthruの手動エントリ を調べることも役立つかもしれません。

<?php

$f = fopen($filepath, 'r');

fpassthru($f);

fclose($f);

?>
0
techbio

何を求めているのかよくわかりませんが、サーバーがファイルを解析するため、http経由で何かを含めて、コードが表示されることを期待することはできません。

「script.php」がローカルファイルの場合、次のように試すことができます。

$file = file_get_contents('script.php');
echo $file;
0
Pavel Lishin