我正在尝试使用php输出缓冲函数在用户表单提交后创建一个新的html页面。
我在这里研究了这个问题,并在另一个帖子上找到了这个答案的帮助……https://stackoverflow.com/a/3775302/7637995。
这个建议确实对我的服务器产生了一个html页面。
然而,我需要更进一步,到目前为止,还没有找到这样做的方法。
正如我所说的..。使用答案中提供的代码,并嵌入到我的PHP页面中...通过将html页面的“name”设置为"Mydocument“,我可以生成一个新的html页面,并将所有表单数据保存在服务器上,如下所示……
<?php ob_start(); ?>
/* My 'Form Page' Content Here */
<?php echo '';
file_put_contents('Mydocument.html', ob_get_contents());
?>. 然而..。而不是提前命名一个“一次性”的目标html页面,通过每次都硬编码它……我想知道是否有可能让表单本身,在每次提交表单时自动生成一个新的目标html页面的名称。可能基于来自文本表单域之一的输入数据。
例如,在表单中...我有一个名为'banner‘的字段。输入到该字段中的文本最终成为html页面上的文章的标题。
所以..。我想知道'banner‘字段中的数据是否也可以用来为目标html页面自动生成一个'name’。
因此,我不必为目标html页面编码一个'name‘,比如;'Mydocument.html’(或者其他什么)……表单将在提交时自动为html页面本身创建名称。
例如..。如果我的标题(输入到表单的'banner‘字段中)是
“巨型小行星撞击地球”
当PHP代码生成时,它可能看起来像这样……
<?php ob_start(); ?>
/* My 'Form Page' Content Here */
<?php echo '';
file_put_contents('Giant%Asteroid%To%Hit%Earth.html'
, ob_get_contents());
?>. 如果有人能帮我解决这个问题...我将不胜感激。
发布于 2017-03-01 06:58:19
<?php
ob_start();
$headline=str_replace('.', '_', basename($_REQUEST['banner']));
?>
/* My 'Form Page' Content Here */
<?php echo '';
file_put_contents($headline . '.html'
, ob_get_contents()); 这里你应该注意几件事: basename函数修复了一大堆安全问题。我删除了多余的结尾'?>‘
https://stackoverflow.com/questions/42520165
复制相似问题