web-dev-qa-db-ja.com

PHPで.htmlファイルのコンテンツ全体をエコーする方法は?

PHPで.htmlファイルのコンテンツ全体をエコーする方法はありますか?

例えばsample.htmlファイルがいくつかあり、そのファイル名をエコーし​​たいので、そのコンテンツを表示する必要があります。

46

readfile() を使用する必要があります。

_readfile("/path/to/file");
_

これにより、ファイルが読み取られ、1つのコマンドでブラウザーに送信されます。これは基本的に次と同じです:

_echo file_get_contents("/path/to/file");
_

ただし、 file_get_contents() を使用すると、大きなファイルに対してスクリプトがクラッシュする可能性がありますが、readfile()は発生しません。

82
Frxstrem

ただ使用する:

<?php
    include("/path/to/file.html");
?>

それもエコーします。これには、ファイルでPHP

コンテンツに対して何かを行う必要がある場合は、file_get_contents()を使用します。

例えば.

<?php
    $pagecontents = file_get_contents("/path/to/file.html");

    echo str_replace("Banana", "Pineapple", $pagecontents);

?>

これはそのファイル内のコードを実行しませんので、それが機能すると期待する場合は注意してください。

私は通常使用します:

include($_SERVER['DOCUMENT_ROOT']."/path/to/file/as/in/url.html");

そのため、インクルードを壊すことなくファイルを移動できます。

13
Rich Bradshaw

HTMLファイルにPHPコードが含まれておらず、PHPとして実行されないようにする場合は、includeまたはrequireを使用しないでください。簡単なこと:

echo file_get_contents("/path/to/file.html");
8
Not_a_Golfer