![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Newbie
![]() Registriert seit: 20.12.2005
Alter: 49
Beiträge: 7
|
![]() 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 |
![]() |
![]() |
![]() |
#2 |
Veteran
![]() |
![]() wie gross ist denn die datei nach dem herunterladen? die variable max_allowed_packet bestimmt die maximale grösse.
____________________________________
religion is a virus from outer space |
![]() |
![]() |
![]() |
#3 | |
Newbie
![]() Registriert seit: 20.12.2005
Alter: 49
Beiträge: 7
|
![]() Zitat:
Wo müsste ich die Variable max_allowed_packet einsetzen??? Danke |
|
![]() |
![]() |
![]() |
#4 |
Newbie
![]() Registriert seit: 20.12.2005
Alter: 49
Beiträge: 7
|
![]() hallo,
ich habe ein bisschen was umgeschrieben dadurch erkenne ich jetzt die größe der Datei richtig und kann diese auch öffnen. NUR wird der Inhalt nicht richtig dargestellt. die neue Version: Eingabe: PHP-Quellcode: <?php $data = mysql_real_escape_string(fread(fopen($_FILES['anhang']['tmp_name'], "rb"), $_FILES['anhang']['size'])); $dateiname = mysql_real_escape_string($_FILES['anhang']['name']); $dateigroesse = mysql_real_escape_string($_FILES['anhang']['size']); $dateityp = mysql_real_escape_string($_FILES['anhang']['type']); $query="INSERT INTO anhang (dateiname,dateigroesse,dateityp,daten) ". "VALUES ('".$dateiname."', '".$dateigroesse."', '".$dateityp."', '".$data."')"; $result=mysql_query($query); $datei_id= mysql_insert_id(); ?> Ausgabe: PHP-Quellcode: <?php $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 $Result->daten; ?> wenn ich eine Excel Datei verwende schaut der Inhalt so aus: Tabelle3Œ1+ÁÁ`iüT Suhner Type |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|