0

我想从我的 php 网页在我的服务器上的模板文件中写几行,然后下载它的副本。

我将使用包含要填写的表单的 main.php。它有 changeme1 和 changeme2 的输入字段。

我将使用 create.php 从 main.php 读取 POST 的详细信息,并将它们写到 template.php,其结构如下(但更大更复杂):

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

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

</body>
</html>

有没有办法我可以读入这个 template.php,把 mod 改成 {changeme1} 和 {changeme2} 并写回一个可下载的文件?我正在考虑搜索和替换?

我已经设法通过使用在 SO 上找到的其他信息工作的标头下载文件: PHP create file for download without save on server

但是这种方法与我需要简单地写大括号所在位置的 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 回答