Mit diesem Code hole ich ein PDF aus einer Datenbank raus:
<?php
$res = mysql_query("SELECT * FROM shop_kundepdf");
while ($row = mysql_fetch_array($res))
{
Header("Content-Type: application/pdf");
Header("Content-Length: ".strlen(stripslashes($row[pdf])));
Header("Content-disposition: inline; filename=doc.pdf");
echo stripslashes($row[pdf]);
}
?>
Doch irgendwie stimmen die Mime-Typen noch nicht über ein. Denn anstatt mir die Datei anzuzeigen, will er mir das zum Download anbieten. Und sagt dann das die Seite nicht geöffnet werden kann.
Wer kann mir dabei helfen.
hast du auch ein programm installiert, welches die PDFs lesen kann?
kennt dein browser den MIME-typ?
was passiert, wenn du die PDF-datei einfach als datei auf dem server hast und diese mit dem browser als url ansprichst?
kommt da auch der download? oder wird es 'inline' geöffnet?
Das geht ja alles. Es geht jetzt darum, wenn ich das File im der Datenbank gespeichert habe, es wieder auszulesen.
Und das geht nicht. Und ich weiß nicht wieso.:dontknow:
Momentan wird mir nur eine Leere Seite angezeigt im Adobe.
Von Adobe kommt die Fehlermeldung
Beim Lesen des Dokuments ist ein fehler aufgetretten(14)
Toll und was heisst Fehlernummer 14?
ok.
ist dein feld in der DB blob oder longblob? dann sollte es gehen.
ich hole bilder auch einer DB und verwende nur den header zum festlegen des types. den rest habe ich weggelassen.
auch habe ich bei mir das stripslashes() bei der ausgabe nicht drin.
probier es mal so. vielleicht klappt es dann.
Original geschrieben von Wotan
Toll und was heisst Fehlernummer 14?
habe ich überlesen.
vielleicht sind die stripslashes() schuld daran .. :D
<?php
$res = mysql_query("SELECT * FROM shop_kundepdf");
while ($row = mysql_fetch_array($res))
{
Header("Content-Type: application/pdf");
Header("Content-Length: ".strlen(trim($row[pdf])));
Header("Content-disposition: inline; filename='$kid-$bid-$sid.pdf'");
echo trim($row[pdf]);
}
?>
Und schon geht es.
Scheinbar war es wirklich das stripslashes. Aber eingenartig ist das schon, weil ich das File mit addslashes eintrage. Naja, es geht jedenfalls.
Ganz großen dank an dich.
:grin:
hast du es mal ohne stripslashes() probiert?
anmerkung:
änder mal die url in deiner sig auf http://www.php-resource.de/scripte/ :D
Original geschrieben von Abraxax
anmerkung:
änder mal die url in deiner sig auf http://www.php-resource.de/scripte/ :D
Danke für den Hinweis. Immer muss Berni was ändern. :D