首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP缓冲输出帮助。生成预先命名的html页面

问PHP缓冲输出帮助。生成预先命名的html页面
EN

Stack Overflow用户
提问于 2017-03-01 06:46:23
回答 1查看 59关注 0票数 0

我正在尝试使用php输出缓冲函数在用户表单提交后创建一个新的html页面。

我在这里研究了这个问题,并在另一个帖子上找到了这个答案的帮助……https://stackoverflow.com/a/3775302/7637995。

这个建议确实对我的服务器产生了一个html页面。

然而,我需要更进一步,到目前为止,还没有找到这样做的方法。

正如我所说的..。使用答案中提供的代码,并嵌入到我的PHP页面中...通过将html页面的“name”设置为"Mydocument“,我可以生成一个新的html页面,并将所有表单数据保存在服务器上,如下所示……

代码语言:javascript
复制
    <?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代码生成时,它可能看起来像这样……

代码语言:javascript
复制
    <?php ob_start(); ?> 
    /* My 'Form Page' Content Here */ 
    <?php echo '';      
      file_put_contents('Giant%Asteroid%To%Hit%Earth.html'
      , ob_get_contents()); 
    ?>. 

如果有人能帮我解决这个问题...我将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-01 06:58:19

代码语言:javascript
复制
<?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函数修复了一大堆安全问题。我删除了多余的结尾'?>‘

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42520165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档