将整个HTML从网页发布到PHP

时间:2014-12-19 14:39:24

标签: javascript php html

我需要将整个页面的HTML传递给PHP变量,但我不知道这是否可能,或者它是否能完成我想要做的事情。

想法是用户单击一个按钮(PRINT),脚本将收集页面的整个HTML并将其POST到PHP文件。 PHP文件使用第三方服务(DocRaptor)生成PDF。

有关最佳方法的任何想法吗?它会工作吗?

修改 你提问的一些代码。这是我得到的。这有效,我得到了文本输入框中提交的文本的PDF。但这显然不是我需要的。我只是不确定如何发布不是文本输入的内容,而是发布页面的整个当前HTML。它显然不是一个表格,按钮(打印页面)是理想的。

HTML:

<form method="POST" action="print_submit.php">
 Innovation Name<input type="text" name="this_data">

    <input type="submit" value="Sumbit my choice"/>

</form>

PHP(print_submit.php):

<?php
$api_key = "XXXXXX";
$url = "https://docraptor.com/docs?user_credentials=$api_key";

$content = $_POST['this_data'];
$name = 'docraptor_sample.pdf';
$post_array = array(
  'doc[name]' => $name,
  'doc[document_type]' => 'pdf',
  'doc[test]' => 'true',
  'doc[document_content]' => $content
 );

 $postdata = http_build_query($post_array);

 $opts = array('http' =>
  array(
      'method'  => 'POST',
      'header'  => 'Content-type: application/x-www-form-urlencoded',
      'content' => $postdata
  )
 );

 $context = stream_context_create($opts);

 $doc = file_get_contents($url, false, $context);

 file_put_contents($name, $doc);
 ?>

Here is a link to your pdf: <a href="<?=$name ?>"><?=$name ?></a>

1 个答案:

答案 0 :(得分:0)

我之前做过类似的事情。下面是一个示例链接,该示例使用JavaScript捕获HTML并传递给新页面以供PHP阅读。可能有更好的或其他方式来执行它,但这完成了我之前想要的工作,所以也许你可以从中获得一些想法。

http://jsfiddle.net/0w0yg5ey/

的JavaScript

function getPageHTML()
{
  //Get the HTML and add to a form element before submitting the form.
  document.PageContent.HTML.value=document.all[0].innerHTML;
  document.PageContent.submit();
}