【问题标题】:POST entire HTML from webpage to PHP [duplicate]将整个 HTML 从网页发布到 PHP [重复]
【发布时间】:2014-12-30 02:25:38
【问题描述】:

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

这个想法是用户单击一个按钮(打印),脚本将收集页面的整个 HTML 并将其发布到 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>

【问题讨论】:

  • 请发布您尝试过的代码。以及您遇到的问题。
  • ... 基本页面不是已经在运行 PHP 的服务器上了吗?
  • 为什么用户不能只打印为 PDF?

标签: javascript php html


【解决方案1】:

我以前做过类似的事情。下面是一个使用 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();
}

【讨论】:

  • 好的...开始工作了。谢谢。这传递了我没有样式的原始 html 有没有办法将所有这些一起传递(HTML 和 CSS)?
猜你喜欢
  • 2011-06-26
  • 2017-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-18
  • 2017-06-16
  • 1970-01-01
相关资源
最近更新 更多