0

サーバー上のテンプレートファイルにphpWebページから数行を書き込んでから、そのコピーをダウンロードしたいと思います。

入力するフォームを含むmain.phpを使用します。changeme1とchangeme2の入力フィールドがあります。

main.phpからPOSTされた詳細を読み取り、以下のように構造化されたtemplate.phpに書き出すcreate.phpを使用します(ただし、はるかに大きく複雑です)。

<html>
<head>
<title>Test1</title>
</head>

<body>
<p>{changeme1}</p>
<p>{changeme2}</p>

</body>
</html>

このtemplate.phpを読み込んで、modを{changeme1}と{changeme2}に変更し、ダウンロード可能なファイルに書き戻す方法はありますか?私はおそらく検索と置換を考えていますか?

私はすでにここでSOにある他の情報を使用して動作するヘッダーを介してファイルのダウンロードを取得することができました: PHPはサーバーに保存せずにダウンロード用のファイルを作成します

しかし、このメソッドは、中括弧がどこにあるかを単純に記述する必要があるhtmlのものをエコーし​​ます。template.phpエコーの最終的なサイズのため、テンプレートを変更するたびに多くの作業が必要になるため、phpエコーに適したテンプレートを変更することは適切ではありません(ここで私を理解してください)。

前もって感謝します。

4

1 に答える 1

1

file_get_contents()を使用してファイルの内容を変数にロードしてから、 str_replace()使用して質問の文字列を置き換えることができます。

<?php
$search  = array('{changeme1}', '{changeme2}');   // what will be searched for
$replace = array('foo', 'bar');                   // replace it with this

$file = file_get_contents ('filename.tpl');
$new  = str_replace ($search, $replace, $file);

// $new now contains the template file contents with the values replaced, 
// do what you want with it
echo $new;

お役に立てれば。

于 2013-01-13T16:36:06.643 に答える