2012-03-02 24 views
34

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

私はいくつかのsample.htmlファイルを持っています。そのファイル名をエコーし​​たいので、その内容を表示する必要があります。

+4

'Include'がすべきです。)または' readfile() 'です。 – Vyktor

+0

可能な複製[ファイルの全内容を含めるとエコーする](http://stackoverflow.com/questions/921479/include-whole-content-of-a-file-and-echo-it) – trejder

答えて

67

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

readfile("/path/to/file"); 

これはファイルを読み取り、1つのコマンドでブラウザに送信します。これは本質的に同じである。そのfile_get_contents()除い

echo file_get_contents("/path/to/file"); 

readfile()はありませんが、スクリプトは、大きなファイルのためにクラッシュする可能性があります。

+0

上記のコマンドを実行するために、そのファイルがフォルダ内に存在するかどうか、最初に確認する方法はありますか? –

+0

['file_exists()'](http://php.net/file_exists)は、その名前でファイルまたはディレクトリが存在するかどうかをチェックし、['is_file()'](http://php.net/is_file)ファイルが存在していることを確認する*ことができ、通常のファイル*です。あなたの場合は、おそらく 'is_file()'が使われるべきです。 – Frxstrem

+0

奇妙ですが、file_get_contentsをreadfileに変更すると、下部に1191が追加されます。その番号はどこから来るのか分かりません。 –

9

ちょうど使用:

<?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"); 

として、私は含まれて壊すことなく、ファイルを移動することができます。

+0

私はあなたと思うリッチ;実際のコードを逃した) – joakimdahlstrom

+0

クイックレスポンスのためのThhanks :)あなたは私に例を書いてもらえますか?私は私の質問を編集しました。ありがとう。 P.S.あなたはコードを持っていない: "ちょうど使用する:"? –

+1

ああ、それを正しくインデントするのを忘れてしまった! –

8

HTMLファイルは、任意のPHPコードが含まれていないと、PHPとして実行されることはありませんを確認するには、includeまたはrequireを使用しないでください、簡単な操作を行います。

echo file_get_contents("/path/to/file.html"); 
+0

ありがとうございます。できます。しかし、そのファイルに必要なファイルが含まれていたり、何らかの方法で参照されていたりすると、それらのパスが異なるため、機能しません。私たちはまだメインファイルにあります。これを回避する方法はありますか? –

関連する問題