13

HTML マークアップを含むドキュメント ファイルがあります。ファイル全体の内容を PHP 変数に代入したいと考えています。

次のコード行があります。

$body = include('email_template.php');

私がするとき、var_dump()私は得るstring(1) "'"

ファイルの内容を変数に代入することはできますか?

[注: これを行う理由は、メール メッセージの本文セグメントをメーラー スクリプトから分離したいからです。テンプレートのようなもので、ユーザーは HTML マークアップを変更するだけで、メーラーを気にする必要はありません。脚本。そのため、ファイルをボディセグメント全体として含めていますmail($to, $subject, $body, $headers, $return_path);

ありがとう。

4

7 に答える 7

23

実行する必要がある PHP コードがある場合は、実際に を使用する必要がありますinclude。ただし、includeファイルからの出力は返されません。ブラウザに出力されます。出力バッファリングと呼ばれる PHP 機能を使用する必要があります。これにより、スクリプトによって送信されたすべての出力がキャプチャされます。その後、このデータにアクセスして使用できます。

ob_start();                      // start capturing output
include('email_template.php');   // execute the file
$content = ob_get_contents();    // get the contents from the buffer
ob_end_clean();                  // stop buffering and discard contents
于 2012-06-27T15:58:14.347 に答える
13

使用する必要がありますfile_get_contents()

$body1 = file_get_contents('email_template.php');

include現在のファイルにインクルードして実行し、 toemail_template.phpの戻り値を保存しています。include()$body1

ファイル内で PHP コードを実行する必要がある場合は、出力コントロールを利用できます。

ob_start();
include 'email_template.php';
$body1 = ob_get_clean();
于 2012-06-27T15:52:54.283 に答える
2

file_get_contents()

$file = file_get_contents('email_template.php');

または、あなたが正気でない場合:

ob_start();
include('email_template.php');
$file = ob_end_flush();
于 2012-06-27T15:53:13.363 に答える
1

他の人が投稿したようにfile_get_contents、そのファイルを実行する必要がない場合に使用してください。

あるいは、return ステートメントを使用してインクルードを作成し、出力を返すようにすることもできます。

インクルードが処理を行い、echo [ed: または PHP 解析モードを終了] ステートメントで出力する場合は、出力をバッファリングすることもできます。

ob_start();
include('email_template.php');
$body1 = ob_get_clean();

ティムクーパーは私を打ち負かしました。:P

于 2012-06-27T15:57:25.550 に答える
0

はい、簡単にできます。

変数を使用するファイルにこれを配置します

require_once ‘/myfile.php';
if(isset($responseBody)) {
    echo $responseBody;
    unset($responseBody);
}    

/myfile.php を呼び出しているファイルにこれを配置します

$responseBody = 'Hello world, I am a genius';

ありがとうダニエル

于 2015-02-03T18:00:52.573 に答える
0

PHPのfile_get_contents()関数を使ってみてください。

詳細はこちら: http://php.net/manual/en/function.file-get-contents.php

于 2012-06-27T15:53:08.207 に答える