Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

Pdf aus Datenbank anzeigen

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
workershop
PostRank 8
PostRank 8
Beiträge: 697
Registriert: 19.11.2004, 19:08
Wohnort: Leipzig

Beitrag von workershop » 21.07.2009, 22:01

Hi,

ich habe ein Problem. Ich muss auf einer Seite PDF Dateien aus einer MySql Datenbank auslesen und auf einer Seite anzeigen, so das User diese Pdfs runterladen können.

Id - Beschreibung - anzeige pdf Symbol zum downloaden
Id - Beschreibung - anzeige pdf Symbol zum downloaden
Id - Beschreibung - anzeige pdf Symbol zum downloaden
Id - Beschreibung - anzeige pdf Symbol zum downloaden

usw.

Ich weis, die pdf sollte man besser in einem Ordner speichern, aber es muss aus der Datenbank sein. Es sind nicht viele, jeden Monat wird nur 1 kleines pdf in die Datenbank geladen.
Es muss auch keine große Sicherheit bestehen, da nur der Besitzer zugang zum Formular hat.

Ich habe es so gelöst:
Formular
<form enctype=multipart/form-data action=pdfstore.php method=post>
<input type=hidden name=MAX_FILE_SIZE value=1000000>
<input type=hidden name=completed value=1>
Please choose a .pdf to upload: <input type=file name=imagefile><br>
Please enter the title of that document: <input name=whatsit><br>
then: <input type=submit></form>

Script zum schreiben in die DB:
// Create table if it doesn't exist

$q = <<<CREATE
create table pdf (
pid int primary key not null auto_increment,
title text,
imgdata longblob)
CREATE;
@mysql_query($q);

// Store the .pdf

if ($errmsg == "") {
if ($_REQUEST[completed] == 1) {
move_uploaded_file($_FILES['imagefile']['tmp_name'],"latest.img");
$instr = fopen("latest.img","rb");
$image = mysql_real_escape_string(fread($instr,filesize("latest.img")));
if (strlen($instr) < 1000000) {
mysql_query ("insert into pdf (title, imgdata) values (\"".
$_REQUEST[whatsit].
"\", \"".
$image.
"\")");
$errmsg = "Done";
} else {
$errmsg = "Too large!";
}
} else {
$errmsg = "Form not completed";
}}
?>

So weit so gut. Die Daten werden geschrieben. Jetzt habe ich aber mit folgenden Script das Problem, das die ID und die Beschreibung angezeigt werden, aber ich bekomme es nicht hin das die pdf datei als Symbol zum downloaden erscheint, sondern es wird nur der Inhalt der pdf als irgendwelcher Quellcode angezeigt. Zur Zeit probiere ich es so:

<?php
require_once ('konfiguration.php');
$db_link = mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT);

// Nutzen von Datenbank (Name ist hinterlegt in Konstante MYSQL_DATENBANK
$db_sel = mysql_select_db( MYSQL_DATENBANK )
or die("Auswahl der Datenbank fehlgeschlagen");

$sql = "
SELECT * FROM pdf
";

$db_erg = mysql_query( $sql );
if ( ! $db_erg )
{
die('Ungültige Abfrage: ' . mysql_error());
}

echo '<table border="1">';
while ($zeile = mysql_fetch_array( $db_erg, MYSQL_ASSOC))
{
echo "<tr>";
echo "<td>". $zeile['pid'] . "</td>";
echo "<td>". $zeile['title'] . "</td>";
echo "<td>". $zeile['imgdata'] . "</td>";

echo "</tr>";
}
echo "</table>";

mysql_free_result( $db_erg );
?>

Was kann ich da machen, damit es funktioniert. Danke

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


mcchaos
PostRank 9
PostRank 9
Beiträge: 1414
Registriert: 27.07.2004, 19:18

Beitrag von mcchaos » 21.07.2009, 23:35

Schick vorab den passenden Header, siehe

https://de2.php.net/manual/en/function. ... r.examples
-> Example #1.

workershop
PostRank 8
PostRank 8
Beiträge: 697
Registriert: 19.11.2004, 19:08
Wohnort: Leipzig

Beitrag von workershop » 21.07.2009, 23:42

Ok, danke.

Anonymous

Beitrag von Anonymous » 21.07.2009, 23:45

naja... was hast du denn erwartet bei deinem

echo "<td>". $zeile['imgdata'] . "</td>";

:roll:

dort gibst du doch explizit die daten, aus denen dein PDF besteht, aus... wenn dort ne Grafik erscheinen soll, musste da halt ne Grafik einbinden.... und dein PDF erst nach einem klick auf die grafik aus der db holen und mit den richtigen headern für mimetype etc ausgeben...

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag