2010-03-08 2 views
1

위의 기술을 사용하여 PDF를 만들어 db에 저장하고 전자 메일로 보내려고합니다. 하나의 버튼 클릭 만 있으면됩니다.PHP MYSQL FPDF blob로 저장된 PDF 문자열 검색

나는 또한 이것을 호출하고 하이퍼 링크로 표시 할 수있게하려고한다.

저는 FPDF를 처음 사용했습니다. 그러므로 저는 매우 천천히 시작하려고합니다.

는 내가 같은 페이지에 자신의 코드의 두 부분을 넣어 별도의 페이지와 노력이 링크 stackoverflow Q

시작했다. 제안 된 변경 사항/추가 사항을 작성하고 라인별로 비교를 수행했습니다. 나는 여전히 메시지가

: 나는 단지 $ PDF- 만약> 출력()

"형식 오류가 아닌 PDF 또는 손상"; 나는 pdf를 표시합니다. 문자열이 출력되는 방식이거나 header() 함수입니다. 열 설정이 올바르지 않으면 저장 방법이 아닙니다. Blob은 얼룩이지, 그렇지?

원하는 경우 위생 코드를 업로드 할 수 있습니다. 이 답변에 도움이 될만한 것이 무엇인지 알려주세요. 내가 말했듯이

<?php 
session_start(); 
include "server.php";//my file to connect to db 
require('fpdf.php'); 

$pdf=new FPDF(); 
$pdf->AddPage(); 
$pdf->SetFont('Arial','B',16); 
$pdf->Cell(40,10,'Hello World!'); 

$content = $pdf->Output("", "S"); //return the pdf file content as string 

$sql = "update table set table_pdf= '".addslashes($content)."' " . 
    "where table_id = '188'"; 

mysql_query($sql); 

//here's where I retrieve it 

$sql2 = "select table_pdf from table where table_id = '188'"; 
$result2 = mysql_query($sql2); 
$rs = mysql_fetch_assoc($result2); 

$content2 = $rs['rdngs_hdr_pdf']; 
header('Content-Type: application/pdf'); 
header("Content-Length: ".strlen(content2)); 
header('Content-Disposition: attachment; filename=myfile.pdf'); 
print $content2; 
?> 

, 내가 위에서 다른 질문 링크의 다른 아이디어를 시도 :

감사

JJ 여기

는 여기에 내가에 입력 어디 요청 의 코드입니다 . 지금은 addslashes가있는 버전에 있습니다.

도움 주셔서 감사합니다.

+0

코드하시기 바랍니다 ???? –

+0

요청한대로 코드를 추가했습니다. –

답변

1

시도해보십시오. 대신 내용을 탈출 addslashes를 사용하는 바이너리 represenation에 그걸 얻기 위해 unpack를 사용해보십시오 :

$content = $pdf->Output("", "S"); //return the pdf file content as string 
$data = unpack("H*hex", $content); 

$sql = "update table set table_pdf= " . 0x".$data['hex']." . " " . 
    "where table_id = '188'"; 

을 데이터를 검색하는 방금처럼, 출력 내용을 다음 선택 등을 할 수 있어야 당신은 이미하고 있습니다.

+0

첫 번째 파일에서 제안 된 내용을 시도한 결과 코드가 정확하게 사용되었습니다. 검색 파일에 관해서는 구문 분석 오류가 발생하지 않도록 코드를 보완해야했습니다. 여기 내가 한 일이있다. "$. $ sql ="rdngs_hdr_pdf = "."0x ". $ data [ 'hex']." ". rdngs_hdr_id = '187'"설정; 오류가 발생했습니다. 내 추가 기능이 올바르지 않다고 생각합니다. 그렇지 않으면 pdf = 및 before "뒤에 0x를 넣었을 것입니다. 어떤 아이디어? –