1

我有一个 php 文件myfile.php,其中基本上包含很多 html 和一些 php 代码,例如:

<body> 
    Name: <?php echo $_GET['id'] ?>
    <!-- and so on ... -->  
</body> 

我正在使用一个用 PHP 编写的开源 HTML 到 PDF 转换器,它需要将要转换的 html 内容作为输入:

PDFConverter::convertHTMLToPDFFIle($html_input, $filename_output_pdf); 

如何输入从myfile.php?id=XXinto生成的 html $html_input

4

2 回答 2

4

您可以使用一点输出缓冲并将其包含在内。

<?php
ob_start();
include "myfile.php";
$content = ob_get_clean();
// $content now contains the processed code of myfile

此时,由于包含,文件内容已由 PHP 处理,并且位于$content变量中。您可以将其传递给您的convertHTMLToPDFFile()方法。

PDFConverter::convertHTMLToPDFFile($content, $outFilename); 

编辑:OP 编辑​​的问题添加要求包含的文件需要能够接受变量。

当包含/需要文件时,它会继承当前范围。这意味着它可以访问任何已定义的变量、类定义、函数等。因此,在包含文件之前确定哪些变量是共享的并设置这些值。例如:

<body> 
Name: <?php echo $id; ?>
<!-- and so on ... ->  
</body>

进而...

<?php
ob_start();
$id = <whatever the value should be>;
include "myfile.php";
$content = ob_get_clean();
于 2013-07-10T04:51:44.800 回答
2

如果您在主机上启用了 fopen url 包装器,则可以使用文件获取内容

 $html = file_get_contents("http://mysite.com/somefile.php?var=1&var2=2");
于 2013-07-10T05:00:18.093 回答