Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
PDF aus Datenbank holen [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
PDF aus Datenbank holen


 
Wotan
01-11-2002, 12:21 
 
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.

 
Abraxax
01-11-2002, 12:41 
 
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?

 
Wotan
01-11-2002, 12:43 
 
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?

 
Abraxax
01-11-2002, 12:50 
 
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.

 
Wotan
01-11-2002, 12:50 
 
Longblob

 
Abraxax
01-11-2002, 12:51 
 
Original geschrieben von Wotan
Toll und was heisst Fehlernummer 14?

habe ich überlesen.
vielleicht sind die stripslashes() schuld daran .. :D

 
Wotan
01-11-2002, 12:54 
 
<?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:

 
Abraxax
01-11-2002, 12:54 
 
hast du es mal ohne stripslashes() probiert?


anmerkung:
änder mal die url in deiner sig auf http://www.php-resource.de/scripte/ :D

 
Abraxax
01-11-2002, 12:55 
 
ok :D

 
Wotan
01-11-2002, 12:58 
 
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

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:00 Uhr.