muhahahe Geschrieben 24. Mai 2003 Teilen Geschrieben 24. Mai 2003 Hallo! Ist es möglich Dateien in einer MYSQL-Datenbank zu speichern, und diese dann mit select auszulesen???? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 24. Mai 2003 Teilen Geschrieben 24. Mai 2003 Hallo, rein theoretsich ist es schon möglich. Schau mal hier. Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
AxlHammer Geschrieben 25. Mai 2003 Teilen Geschrieben 25. Mai 2003 Hallo, also grundsätzlich sollte das eigentlich mit BLOBs möglich sein, eben einfach den Dateiinhalt in die Tabelle schreiben. Ich weiss ja nicht ob das bei deinem Projekt möglich ist, aber könntest du nicht einfach nur die Pfadangabe in die Tabelle schrieben und die Dateien dann einfach auf dem Server speichern? Gruß, Axl Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
muhahahe Geschrieben 26. Mai 2003 Autor Teilen Geschrieben 26. Mai 2003 Erstmal DANKE für die Infos. Mit dem Blob funktioniert das (laut Anleitung) nur mit Bitmaps so richtig. Wenn ich z.B. eine *.Doc datei "hochlade" und dann wieder aus der Db abrufe erhalte ich ein nicht bekanntes Format. Das mit dem Pfad speichern wollte ich eigenlich umgehen, da ich alles zentral speichern wollte (wegen doppelter Dateinamen und besserer Benutzerzuordnung). Wär schön wenn mir da noch jemand helfen könnte. THX Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jaraz Geschrieben 26. Mai 2003 Teilen Geschrieben 26. Mai 2003 Ließ mal das hier: 16.3. Ist es sinnvoll, Bilder in einer Datenbank abzulegen? http://www.dclp-faq.de/q/q-db-blob.html Ich mache es immer so: Ein upload Verzeichnis und eine Tabelle. In die Tabelle schreibe ich Pfad, Dateiname, eindeutigeId, Größe und content-type. Die Datei wird dann unter der eindeutigen id im upload Verzeichnis gespeichert. Wenn du beim speichern und zurückholen von Dateien unterschiede bekommst, machst du irgendwas falsch. Gruß Jaraz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
muhahahe Geschrieben 26. Mai 2003 Autor Teilen Geschrieben 26. Mai 2003 Ich möchte ja keine Bilder speichern, sondern dokumente, texte, etc. Mit der Integrität ist natürlich nicht von der Hand zu weisen, aber ich möchte das trotzdem als EINE GROSSE Datenbank haben. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jaraz Geschrieben 26. Mai 2003 Teilen Geschrieben 26. Mai 2003 Original geschrieben von muhahahe.de Ich möchte ja keine Bilder speichern, sondern dokumente, texte, etc. Datei ist Datei, vollkommen egal ob gif, zip, doc oder txt. Original geschrieben von muhahahe.de Mit der Integrität ist natürlich nicht von der Hand zu weisen, aber ich möchte das trotzdem als EINE GROSSE Datenbank haben. Dann wirst du wohl mal den entsprechenden Code-Abschnitt posten müssen. Hellsehen kann hier niemand. (Denke ich zumindest. ) Gruß Jaraz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
muhahahe Geschrieben 26. Mai 2003 Autor Teilen Geschrieben 26. Mai 2003 Nagut dann hier also mein Code: für Datei "Upload" ... if ($submit) { MYSQL_CONNECT("localhost","xxx","xxx"); mysql_select_db("dateiverwaltung"); $data = addslashes(fread(fopen($form_data, "r"), filesize($form_data))); $result=MYSQL_QUERY("INSERT INTO dateien (bin_data,file_name,file_size,file_type) ". "VALUES ('$data','$form_data_name','$form_data_size','$form_data_type')"); $id= mysql_insert_id(); print "<p>This file has the following Database ID: <b>$id</b>"; MYSQL_CLOSE(); } else { ?> <form method="post" action="<?php echo $PHP_SELF; ?>" enctype="multipart/form-data"> <INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="1000000"> <input type="file" name="form_data" size="40"> <input type="submit" name="submit" value="GO"> </form> <?php } ?> ... und für den "Download": // Syntax: xxx.php3?id=<id> <?php if($id) { @MYSQL_CONNECT("localhost","xxx","xxx"); @mysql_select_db("dateiverwaltung"); $query = "select bin_data,file_type from dateien where id=$id"; $result = @MYSQL_QUERY($query); $data = @MYSQL_RESULT($result,0,"bin_data"); $type = @MYSQL_RESULT($result,0,"file_type"); Header( "Content-type: $type"); echo $data; }; ?> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jaraz Geschrieben 26. Mai 2003 Teilen Geschrieben 26. Mai 2003 Tritt der Fehler nur bei großen Dateien über 64k auf? Falls ja, ist die Lösung hier: http://www.fachinformatiker-world.de/forums/showthread.php?s=&threadid=42998&highlight=mysql+blob Gruß Jaraz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
muhahahe Geschrieben 27. Mai 2003 Autor Teilen Geschrieben 27. Mai 2003 Ich hab mir die Links zu Gemüte geführt. Ich habe Load_File probiert => bin_data feld bleibt leer; Um die Sitzungsgrößen (php und mySQL) hab ich mich gekümmert, es passiert nix; Ich habe mir mal den Inhalt das bin_data feldes angeschaut: wenn ich ein bitmap speichere (mit mysqlCC), dann sieht der Inhalt wie folgt aus BM,C........ wenn ich das selbe Bitmap via php "hochlade" sieht der Inhalt so aus: BM,C\0\0\0...... Soweit ich mich erinnere ist \0 doch ein Stringende oder. Wenn ich *txt Dateien in der Datenbank speichere, geht die Formatierung verloren. Woran kann das liegen????? Aber trotzdem thx @ all Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
AxlHammer Geschrieben 27. Mai 2003 Teilen Geschrieben 27. Mai 2003 Ich kenn mich mit My-SQL nicht so gut aus, aber was ist mit dem Zeichsatz? Ich schätz mal damit du die Sonderzeichen (Zeilenumbruch, etc.) mitspeichern kannst, musst du einen entsprechenden Zeichensatz laden. Ist nur ne Vermutung... Gruß, Axl Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
muhahahe Geschrieben 27. Mai 2003 Autor Teilen Geschrieben 27. Mai 2003 Hi! Ich habe das Problem jetzt anders gelöst (Dateien werden extern gespeichert). Das Problem bestand darin, das die Dateien mit "r" geöffnet wurden also im ASCII mode mit "rb" werden Sie im binären Modus geöffnet. Mit rb müsste es also funktionieren. Bye und Danke Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.