pdf aus blob als file am server speichern

peejey

Mitglied
hi leute,

bräuchte wieder mal eure hilfe. und hab ich einige pdf-files in einer db gespeichert und nun möchte ich diese ins file-system bringen (also am server abspeichern).
hab leider noch nix brauchbares im web gefunden, aber ich bin sicher hier wird mir geholfen. ;)

danke,
mfg peejey
 
Du kannst deine PDF's mit einem normalen SELECT aus der DB holen, dann einen Header an den Browser senden und mit echo die Zeichenkette ausgeben.

Achtung: Der IE ist mind. bis Version 6 etwas Buggy, was heisst, du musst dem Browser explizit mitteilen, dass er einen Download starten soll, ansonsten hast Du die binärdaten als schöne Webseite :D

Anbei ein Codeschnipsel:
Code:
$SQL = "SELECT pdf_file_content FROM pdf_table WHERE pdf_id=$ID";
$res = mysql_query($SQL);
$ret = mysql_fetch_array($res);

if( $ret['pdf_file_content'] != NULL ) {
  header('Content-type: application/octet- stream');
  header('Content-Disposition: attachment; filename="downloaded.pdf"');
  
  echo $ret['pdf_file_content'];
}

LG
Andy
 
danke erst mal für deine antwort.

hmm....ich möchte das ganze ja nicht ausgeben sondern als pdf-file am server ablegen.
 
Ach so ... sorry ;)

Dann gehts ja noch einfacher:
Code:
$SQL = "SELECT pdf_file_content FROM pdf_table WHERE pdf_id=$ID";
$res = mysql_query($SQL);
$ret = mysql_fetch_array($res);

$content = $ret['pdf_file_content'];
$fp = fopen("pfad/filename.pdf", "w");
fwrite($fp, $content);
fclose($fp);

Wichtig dabei ist, dass PHP auf dem Server schreibrechte hat. Es kann durchaus sein,
dass im Apache PHP restriktiv eingeschränkt ist, und php nix darf ausser deine Daten anzeigen... hatte das Problem auch mal, und man kann m.E. nix dagegen tun, ausser den Hoster zu wechseln :-|
 
Zurück