Einzelnen Beitrag anzeigen
Alt 20.12.2005, 10:47   #1
spöppi
Newbie
 
Registriert seit: 20.12.2005
Alter: 49
Beiträge: 7


Standard Binärdaten in einer MySQL-Tabell speichern und ausgeben

Hallo Leute,
ich möchte eine Datei (z.B. WORD) in einer mysql Tabelle speichern. In die Tabelle bringe ich die Daten auch, nur kann ich sie nicht mehr auslesen.
Beim aufrufen erkenne ich zwar das es z.B ein Word Dokument bzw. ist auch der Name richtig, aber die Größe stimmt nicht bzw. kann sie auch nicht geöffnet werden.

// meine Tabelle

CREATE TABLE `anhang` (
`id` int(11) NOT NULL auto_increment,
`dateiname` varchar(225) collate latin1_general_ci NOT NULL default '',
`dateigroesse` int(11) NOT NULL default '0',
`dateityp` varchar(225) collate latin1_general_ci NOT NULL default '',
`daten` mediumblob NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=15 ;


// eingabe Befehl

$data = addslashes(fread(fopen($_FILES['anhang']['tmp_name'], "r+"), $_FILES['anhang']['size']));

$query="INSERT INTO anhang (dateiname,dateigroesse,dateityp,daten) ".
"VALUES ('".$_FILES['anhang']['name']."', '".$_FILES['anhang']['size']."', '".$_FILES['anhang']['type']."', '".$data."')";

$result=mysql_query($query);
// eingabe zelle
<th> appendix:</th><td colspan="3"><input type="file" id="anhang" name="anhang" size="80"/> </td>


// ausgabe script

$SQL = "SELECT dateiname, dateigroesse, dateityp, daten FROM anhang WHERE id=$id";
$ResultPointer = mysql_query($SQL, $dbh);
$Result=mysql_fetch_object($ResultPointer);

header("Content-type: ".$Result->dateityp);
header("Content-length: ".$Result->dateigroesse);
header("Content-Disposition: attachment; filename=".$Result->dateiname);
echo $data->Daten;

Ich hoffe ihr könnt mir dabei helfen.
Danke
spöppi ist offline   Mit Zitat antworten