2012-01-04 96 views
37

我正在使用Dompdf來創建PDF文件,但我不知道爲什麼它不會將創建的PDF保存到服務器。如何將DOMPDF生成的內容保存到文件?

任何想法?

require_once("./pdf/dompdf_config.inc.php"); 
    $html = 
     '<html><body>'. 
     '<p>Put your html here, or generate it with your favourite '. 
     'templating system.</p>'. 
     '</body></html>'; 

    $dompdf = new DOMPDF(); 
    $dompdf->load_html($html); 
    $dompdf->render(); 
    file_put_contents('Brochure.pdf', $dompdf->output()); 
+0

dompdf的版本?任何PHP錯誤? – BrianS 2012-01-04 03:02:01

+0

dompdf 0.5.2,php 5.2.13 – user1079810 2012-01-05 02:27:37

+0

我沒有看到任何會阻止你保存的東西,所以我猜測服務器配置錯誤。也許PHP無法寫入該目錄?如果是這樣的話,PHP會報告一個錯誤。檢查你的PHP錯誤日誌或啓用錯誤顯示。 – BrianS 2012-01-05 18:20:41

回答

58

我剛剛使用dompdf,代碼有點不同,但它的工作。

這就是:

require_once("./pdf/dompdf_config.inc.php"); 
$files = glob("./pdf/include/*.php"); 
foreach($files as $file) include_once($file); 

$html = 
     '<html><body>'. 
     '<p>Put your html here, or generate it with your favourite '. 
     'templating system.</p>'. 
     '</body></html>'; 

    $dompdf = new DOMPDF(); 
    $dompdf->load_html($html); 
    $dompdf->render(); 
    $output = $dompdf->output(); 
    file_put_contents('Brochure.pdf', $output); 

唯一的區別就是在這裏,所有的包括目錄中的文件都包括在內。

除此之外,我唯一的建議是指定一個完整的目錄路徑來寫入文件,而不僅僅是文件名。

1

我測試了你的代碼,我唯一可以看到的問題是缺少給你試圖寫入文件的目錄的權限。

將「寫入」權限授予您需要放置該文件的目錄。在你的情況下,它是當前目錄。

在linux中使用「chmod」。

如果您在Windows中,將啓用了「寫入」的「Everyone」添加到目錄的安全選項卡。

-2
<?php 
$content='<table width="100%" border="1">'; 
$content.='<tr><th>name</th><th>email</th><th>contact</th><th>address</th><th>city</th><th>country</th><th>postcode</th></tr>'; 
for ($index = 0; $index < 10; $index++) { 
$content.='<tr><td>nadim</td><td>[email protected]</td><td>7737033665</td><td>247 dehligate</td><td>udaipur</td><td>india</td><td>313001</td></tr>'; 
} 
$content.='</table>'; 
//$html = file_get_contents('pdf.php'); 
if(isset($_POST['pdf'])){ 
    require_once('./dompdf/dompdf_config.inc.php'); 
    $dompdf = new DOMPDF;       
    $dompdf->load_html($content); 
    $dompdf->render(); 
    $dompdf->stream("hello.pdf"); 
} 
?> 
<html> 
    <body> 
     <form action="#" method="post">   
      <button name="pdf" type="submit">export</button> 
     <table width="100%" border="1"> 
      <tr><th>name</th><th>email</th><th>contact</th><th>address</th><th>city</th><th>country</th><th>postcode</th></tr>   
      <?php for ($index = 0; $index < 10; $index++) { ?> 
      <tr><td>nadim</td><td>[email protected]</td><td>7737033665</td><td>247 dehligate</td><td>udaipur</td><td>india</td><td>313001</td></tr> 
      <?php } ?>    
     </table>   
     </form>   
    </body> 
</html> 
相關問題