Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将当前生成的PHP页面另存为HTML到服务器数据库_Php_Javascript_Html_Mysql - Fatal编程技术网

将当前生成的PHP页面另存为HTML到服务器数据库

将当前生成的PHP页面另存为HTML到服务器数据库,php,javascript,html,mysql,Php,Javascript,Html,Mysql,应该使用什么方法将当前生成的PHP页面保存为服务器数据库中的HTML文件 我的PHP页面就像一个清算报告,我想保存它,它使用JavaScript生成,所以缓冲不起作用,ob_start和ob_get_内容 编辑: 我使用简单的CSS样式和这个JavaScript来给列出的一些对象提供一种展开-折叠的效果 function showHide(HID,IMG) { if (document.getElementById(IMG).src.indexOf('expand') != -1

应该使用什么方法将当前生成的PHP页面保存为服务器数据库中的HTML文件

我的PHP页面就像一个清算报告,我想保存它,它使用JavaScript生成,所以缓冲不起作用,ob_start和ob_get_内容

编辑:

我使用简单的CSS样式和这个JavaScript来给列出的一些对象提供一种展开-折叠的效果

function showHide(HID,IMG) {
        if (document.getElementById(IMG).src.indexOf('expand') != -1) {
                document.getElementById(IMG).src='../../images/collapse.gif';
                document.getElementById(HID).className='visibleRow';
        } else {
                document.getElementById(IMG).src='../../images/expand.gif';
                document.getElementById(HID).className='hiddenRow';
        }
}

将字段类型设置为text而不是varchar。然后您就可以保存html了,类似于通过AJAX发布$body.html这样的东西可能会起到作用

 $(document).ready( function(){

var data = $('body').html(); // and this can be used to store in database in blob or text field as u wish using AJAX

}

希望这能对你有所帮助。

因为我已经在很多帖子上发表了评论,我想我应该补充一个答案

对于JavaScript,您应该有如下内容:

$(document).ready(function() {
  var page = $(document).html();

  $.post("save_invoice.php", { page: page } );
});
<?php
$page = $_POST['page']; // contains the posted page's content from javascript
mysqli_query("INSERT INTO invoices SET page='".$page."'");
?>
对于PHP,请使用以下内容:

$(document).ready(function() {
  var page = $(document).html();

  $.post("save_invoice.php", { page: page } );
});
<?php
$page = $_POST['page']; // contains the posted page's content from javascript
mysqli_query("INSERT INTO invoices SET page='".$page."'");
?>
如果有任何问题,请尝试评论


康纳:

请发布生成此内容所涉及的JavaScript。您在HTML页面中使用了任何外部资源吗?像css/javascript文件一样?您在数据库中使用文本列数据类型是正确的,但我认为它不能完全解决这个问题。OP没有询问如何保存HTML。他问如何通过JavaScript将PHP生成的页面转换为HTML,然后将其保存到数据库中。确切地说,是Connor,通过JavaScript或其他任何方式。还是$document.HTML,获取标题内容、DOCTYPE等?@ConnorGurney当然:如果您将此内容与$.Ajax一起发布到Ajax,这可能会起作用。正如我在另一个回答中所说,$document.html怎么样,这样你就可以得到标题内容、DOCTYPE等等。真的很感谢,我正在尝试,但是我在从javascript检索页面时遇到了问题,我得到了未定义的索引:page error,我想这意味着帖子没有起到作用。请尝试更改var page=$document.html;要说var page=$html.html;。我认为var page=$html.html;可以,但我无法从POST中获取页面。您是否更改了POST请求中的文件名?您是否会在您当前使用的问题中发布您的代码?