我想从我的php网页上写几行到我服务器上的模板文件,然后下载它的副本。
我将使用包含要填充的表单的main.php。它有changeme1和changeme2的输入字段。
我将使用create.php来读取main.php中的POSTed详细信息并将其写入template.php,其结构如下(但更大更复杂):
<html>
<head>
<title>Test1</title>
</head>
<body>
<p>{changeme1}</p>
<p>{changeme2}</p>
</body>
</html>
有没有办法可以读取这个template.php,将mods变为{changeme1}和{changeme2}并写回可下载的文件?我在考虑寻找和替换?
我已经设法通过使用SO上的其他信息工作的标题下载文件: PHP create file for download without saving on server
但是这个方法回应了html的东西,我需要简单地写出大括号的位置。由于template.php的最终大小回调不合适,因为它意味着每次模板更改后都需要做很多工作,修改适合php回显的模板(希望你能在这里理解我)。
提前致谢。
答案 0 :(得分: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;
希望这有帮助。