0

我有一个提交到下一页的表单。然后在下一页上有一个包含文本(TXT)文件的命令。但我想在这个文本(TXT)文件的某些点显示表单数据。

我试图在 txt 文件中放置他们$_POST["firstname"]$_POST["surname"]名字以显示他们的名字,但实际的文本$_POST["firstname"]$_POST["surname"]出现在网站上,而不是这些字段的值。有没有办法在出现firstnameand时surname显示文本文件中的值?

txt 文件的其余部分永远不会改变。只是名字会。我试过谷歌搜索,但我发现的只是如何写入 txt 文件或读取整个文件。我想要的只是显示文件并更改这些值。

4

2 回答 2

2

您在这里有几个选择。一种选择是将数据存储在 PHP 文件中,而不是将数据存储在文本文件中。不过,我怀疑你想走这条路,还有另一种选择。

本质上,您要做的只是使用 PHP 的内置替换函数来删除文本文件中的值并将它们替换为上一页中的值。您可以通过执行以下操作真正实现这样的目标:

$search = array("{firstname}", "{surname}");
$replace = array($_POST['firstname'], $_POST['surname']);

$file = file_get_contents("data.txt"); //notice `file_get_contents` instead of include

echo str_replace($search, $replace, $file);

在上面,我们使用file_get_contents而不是包含,并且简单地将我们在$search数组中找到的所有内容替换为$replace数组。请注意,您必须在要替换的文本文件中设置值。例如,{firstname}可以在整个文件中重复,以便以后可以用“John”和{lastname}“Doe”替换。

于 2013-06-26T19:24:10.957 回答
0

我编写了一个简单的模板类,可以轻松完成您要查找的内容。

  1. 复制/粘贴class_simple_template.php内容
  2. 然后像这样使用类:

    //包含类文件

    include_once('class_simple_template.php);

    // 实例化模板对象

    $template = new simple_template('/path/to/directory/ contains/template/file/', $debug=0);

    // 设置将包含模板文件中的占位符名称及其相关替换值的数组:

    $template_data = array('firstname' => $_POST['firstname'], 'surname' => $_POST['surname'] );

    // 加载模板文件并用实际值插入占位符“tokens”:

    $final_result = $template->return_parsed_file('your_text_file.txt', $template_data, $email=false);

    回声 $final_result;

'your_text_file.txt' 的内容将使用如下占位符:

您好 {firstname} {surname},

谢谢{firstname},我们非常感谢....

ETC ...

于 2013-06-26T19:37:23.013 回答