我正在使用dompdf。我想将多个pdf文件保存到服务器。下面是我试图完成此任务的代码。但我在一个pdf文件中获取所有订单。这意味着虽然循环执行不止一次,但只生成了一个pdf文件。并且数据附加在相同的pdf文件中,并且数据也是正确的。
$sel_orders = "SELECT * FROM tbl_orders WHERE `user_id`=$user_id AND `mail`='pending' GROUP BY order_num";
$order_res = mysql_query($sel_orders);
$sum = mysql_num_rows($order_res);
$dir = dirname(__FILE__);
require_once($dir.'/dompdf/dompdf_config.inc.php');
if($sum > 0)
{
while($row1 = mysql_fetch_array($order_res))
{
$order_num = $row1['order_num']; // test-123
$post = new stdClass;
ob_start();
include($dir.'/pdf.php');
$pdf_html = ob_get_contents();
ob_end_clean();
$dompdf = new DOMPDF(); // Create new instance of dompdf
$dompdf->load_html($pdf_html); // Load the html
$dompdf->render(); // Parse the html, convert to PDF
$pdf_content = $dompdf->output(); // Put contents of pdf into variable for later
error_reporting(E_ERROR | E_PARSE);
$file_to_save = '"http://www.exampe.com/test/orders/$order_num.pdf"';
file_put_contents($file_to_save, $dompdf->output());
}
}
在pdf.php文件中,我的html代码以pdf格式打印。每次控件进入循环时,我想创建一个单独的pdf。我从下面的链接尝试了解决方案,但它对我不起作用。有人PLZ指出我做错了什么?如果需要任何进一步的信息请告诉我。谢谢!
答案 0 :(得分:0)
我非常怀疑网站是否允许您使用URL将文件保存到它,无论哪种方式更容易使用相对路径和文件名,即使这是您运行代码的站点。
首先使用真实有效的文件名作为输出。您还将文档保存到$pdf_content
,然后不要使用该变量。
$pdf_content = $dompdf->output();
// make this a valid directory and filename for your site
// check that the web server account has correct privilages to write to it
$file_to_save = "/test/orders/$order_num.pdf";
file_put_contents($file_to_save, $pdf_content);