Ich hab keine tutorials zu dem thema gefunden, weiß vielleicht wer welche? Ansonsten kanns ja hier erklärt werden
Also: Wie speicher ich dateien in einer MySQL datenbank? Welchen variablen typ brauch ich und wie viele spalten brauch ich überhaupt für so eine tabelle? Und wie kann ich das ganze dann über php von einer webseite hochladen? Also, es ist klar, dass ich ein formular mit 'nem file-feld brauch, aber was dann?
Thx für antworten
--
"Champagner und Weltrevolution" (Heinrich Heine]
"Seien wir realistisch, fordern wir das Unmögliche" (Ernesto 'Che' Guevara)
"Entscheiden können wir nur, was wir mit der Zeit, die uns gegeben ist, anfangen." (Gandalf)
Ich hab keine tutorials zu dem thema gefunden, weiß vielleicht wer welche? Ansonsten kanns ja hier erklärt werden
Also: Wie speicher ich dateien in einer MySQL datenbank? Welchen variablen typ brauch ich und wie viele spalten brauch ich überhaupt für so eine tabelle? Und wie kann ich das ganze dann über php von einer webseite hochladen? Also, es ist klar, dass ich ein formular mit 'nem file-feld brauch, aber was dann?
Thx für antworten
...
An sich ist die üblichste Methode, um binäre Daten in einer Tabelle abzulegen, ein Feld vom Typ "Blob".*
Zum Thema "Wie mache ich einen Dateiupload" könnte dir die PHP-Referenz weiterhelfen. Zumindest der Aufbau des benötigten Formulars ist darin beschrieben.
Ich glaube, du mußt einfach die Datei per POST an das Skript übergeben (was das Formular tut) und dann im Skript die entsprechende Variable in die Datenbank schreiben.
Ich hab jetzt mal folgendes gemacht:
Das funktioniert nun soweit auch. Aber ich möchte bilder hochladen, die dann wieder ausgegeben werden. Dafür hab ich sowas gemacht:
Blöderweise klappt das nicht. Kann man das überhaupt, also bilder aus einer datenbank anzeigen? Und wenn ja, wie? Was hab ich falsch gemacht?
--
"Champagner und Weltrevolution" (Heinrich Heine]
"Seien wir realistisch, fordern wir das Unmögliche" (Ernesto 'Che' Guevara)
"Entscheiden können wir nur, was wir mit der Zeit, die uns gegeben ist, anfangen." (Gandalf)
@ pogo:
Du kannst ein Bild nicht innerhalb einer HTML/Text-Datei ausgeben lassen, das Bild muss separat in einem Script mit dem passenden header ausgegeben werden.
Also:
- Headerinformationen (image/jpeg || image/gif || ... , no cache, ...)
- Bilddateidaten
Ich habs nie gemacht, aber versuchs mal so in etwa:
Liest du dir dieses Script aufmerksam durch, wird dir auffallen das du ein weiteres DB-Feld brauchen wirst um den Mime-Typ des hochgeladenen Bildes abzuspeichern damit bei der Ausgabe der korrekte Mime-Typ an den Browser übermittelt werden kann.
An den richtigen Mime-Typ des hochzuladenen Bildes kommst du wenn du dir hier Seite 123 ff durchliest: http://www.mut.de/media_remote/katal...726202Xbsp.pdf
Denk dran das beim Bildausgabescript nichts anderes an den Browser ausgegeben werden darf als Headerinformationen und Grafikdaten. Sobald du irgendwas z.B. mit echo ausgibst, ists verhunzt.
Erstmal gibts da gar keine seite 123, das geht nur bis seite 48 Aber trotzdem danke, das teil ist extrem nützlich!
Es funzt aber noch nicht. Ich hab jetzt noch ein feld "mime" in die DB eingebaut. Welchen typ muss ich da denn nehmen? Reicht ein ganz normales VARCHAR?
Dann hab ich das script zum hochladen ein wenig verändert:
Ein neues bild hochgeladen und dein code zum ausgeben genommen, aber es geht nicht...
--
"Champagner und Weltrevolution" (Heinrich Heine]
"Seien wir realistisch, fordern wir das Unmögliche" (Ernesto 'Che' Guevara)
"Entscheiden können wir nur, was wir mit der Zeit, die uns gegeben ist, anfangen." (Gandalf)
Erstmal gibts da gar keine seite 123, das geht nur bis seite 48 Aber trotzdem danke, das teil ist extrem nützlich!
Es funzt aber noch nicht. Ich hab jetzt noch ein feld "mime" in die DB eingebaut. Welchen typ muss ich da denn nehmen? Reicht ein ganz normales VARCHAR?
Dann hab ich das script zum hochladen ein wenig verändert:
Ein neues bild hochgeladen und dein code zum ausgeben genommen, aber es geht nicht...
...
Jo, VARCHAR müsste reichen.
der Mime-Typ den das in der PDF-Datei angegebene Verfahren vorschlägt, müsste etwas nach diesem Schema sein:
image/jpeg oder auch image/jpg oder auch image/png usw..
Ist es nicht so, stimmt da was mit den Mime-Typ-Einstellungen des Servers nicht.
Am besten prüfst du zunächst mal nach ob überhaupt der erste Schritt des Daten Abspeicherns funktioniert. Wenn du PHPMyAdmin noch nicht hast, sei's dir als Webentwickler empfohlen: http://www.phpmyadmin.net/home_page/
phpMyAdmin hab ich natürlich, ist ja sowieso bei jedem webhoster vorinstalliert und auch bestandteil von xampp. Der schritt des hochladens klappt soweit, dass ein neuer eintrag in der DB gemacht wird und der mime-type stimmt. Aber in der spalte in der die datei liegt, steht immer sowas: [BLOB-5 Bytes]. Auch wenn die datei eine andere größe hat, es wird immer 5 bytes angegeben. Ich habs mit mehreren bildern versucht...
--
"Champagner und Weltrevolution" (Heinrich Heine]
"Seien wir realistisch, fordern wir das Unmögliche" (Ernesto 'Che' Guevara)
"Entscheiden können wir nur, was wir mit der Zeit, die uns gegeben ist, anfangen." (Gandalf)
Auch wenn dieser Thread uralt ist - man soll ja erst die Suchen-Funktion verwenden
Also: Ich habe das in etwa genau so gemacht. Die Ausgabe erfolgt nicht mit imagejpeg, imagegif ö.Ä. sondern einfach mit echo.
Trotzdem weiß ich nicht, wie ich die Datei per Skript in die DB bekomme - so gehts auf jeden Fall nicht!