簡體   English   中英

如何將圖像和文本插入FPDF PDF生成的文件

[英]How to insert image and text into FPDF PDF generated file

 <?php mysql_connect('localhost','root',''); mysql_select_db('pdf'); require('fpdf.php'); if(isset($_POST['submit'])){ $name = $_POST['name']; $email = $_POST['email']; $comment = $_POST['comment']; $url = $_POST['url']; $pdf=new FPDF(); $pdf->AddPage(); $pdf->Image('logo.png',18,13,33); $pdf->SetFont('Arial','B',14); $pdf->Cell(50,10, $name,1,1); $pdf->Cell(50,10, $email,1,7); $pdf->Cell(50,10, $url,1,1); $pdf->Cell(50,10, $comment,1,1); $pdf->SetFont('Arial','B',7); $pdf->SetFont('Arial','B',6); $pdf_name=$pdf->Output("","S"); if(isset($_POST['submit'])){ mysql_query("INSERT INTO pdf VALUES('','".mysql_real_escape_string($pdf_name)."')"); echo "insert successful!"; } } ?> 
這是我將pdf作為字符串保存到mysql數據庫中的部分,我想問如何在pdf-> output()中將其保存為blob數據。
 <?php mysql_connect('localhost','root',''); mysql_select_db('pdf'); $query=mysql_query("SELECT * FROM pdf WHERE id='11'"); $row=mysql_fetch_assoc($query); $content = $row['pdf_file']; header('Content-Type: application/pdf'); header("Content-Length: ".strlen(content)); print $content; ?> 

這是我顯示保存為blob的pdf文件的部分,但它返回錯誤,無法顯示該文件。

問題是在將數據插入Db時,

如果將blob數據(或Binary數據)插入sql,則最好不要使用轉義字符串。 因為可能通過用戶可以上傳的pdf進行sql注入,但是您生成自己的PDF,所以執行sql禁令有很大的風險(可能為0)。

mysql_query("INSERT INTO pdf VALUES('','".mysql_real_escape_string($pdf_name)."')");

mysql_query("INSERT INTO pdf VALUES('','".$pdf_name."')");

如果您希望使用base64_encode保留數據,則任何類型的字符都不會出現問題,這是保留Blob數據或在網絡中傳輸數據的非常常用的方法。 並使用base64_decode找回它。

即,如果要將數據插入到數據庫中,請使用base64_encode(),而從數據庫中選擇數據后,則必須使用base64_decode()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM