|  |  | |
|  |  | 
| 
 | |||||||
| Registrieren | Hilfe/Forumregeln | Benutzerliste | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren | 
| Programmierung Rat & Tat für Programmierer | 
|  | 
|  | Themen-Optionen | Ansicht | 
|  17.05.2002, 01:34 | #1 | 
| Elite  |  PHP-Problem - Bildübermittlung Liebe Gemeinde, schön langsdam kommt meine Datenbank auf Touren (endlich harmonieren der Apache mit MySQL & PHP) - danke wegen des Links zu www.NuSphere.com Die Voraussetzungen: 1. Datenbank unter mySQL erfolgreich angelegt 2. dazu eine Tabelle - dies beinhaltet die "VARCHAR"-Felder wie Name, Adresse, etc. UND ein Feld namens "Bild" vom Typ BLOB Ich habe für PHP im Internet eine Eingabemaske gefunden - http://www.blindschleiche.de/Artikel...ysql-einf.php3 - und angepasst, wo eben Daten eingegeben werden können, die dann in meine Datenbank wandern. NUR: Wie ermögliche ich die Übernahme eines Bildes? (Es wird im Datensatz nicht das Bild als BLOB eingefügt, sondern nur die Ladeadresse - z.B.: C:\Bilder\Haus.jpg  ) Hier ein Auszug aus dem PHP, wo die Dateneingabe passiert, das Problem mit dem BILD aber nicht klappt: . . . <form action= <? echo $PHP_SELF ?>> <pre> <input type=hidden name=funktion value= <? echo $funktion ?>> Kontaktperson: <input type=text name=K_person value= <? echo $K_person ?>> Strasse mit Hausnummer: <input type=text name=Str value= <? echo $Str ?>> Ort: <input type=text name=Ort value= <? echo $Ort ?>> Bild anfügen: <input type="hidden" name="MAX_FILE_SIZE" value="2097152"> <input type="file" class="bginput" name=Bild> <input type=submit value= <? echo $funktion ?>> </pre> </form> . . . Herzlichen Dank für Eure Mühe!!! 
				____________________________________ Liebe Grüsse Michi | 
|   |   | 
|  17.05.2002, 01:44 | #2 | 
| Inventar  Registriert seit: 28.12.2000 
					Beiträge: 1.693
				 |   Mir fällt nur auf daß das name=Bild in deinem Formular nicht in Anführungszeichen steht name="Bild" 
				____________________________________ Nordick-Wogging Dumm-ness boomt Ihr Fengshui Berater Eurofighter abfangen ! | 
|   |   | 
|  17.05.2002, 03:54 | #3 | 
| Inventar  Registriert seit: 24.09.2001 
					Beiträge: 7.335
				 |   Das Bild musst Du extra behandeln, dass wird nicht in einer Variablen abgelegt, von wo Du es einfach in die DB spielen kannst. http://at.php.net/manual/de/features.file-upload.php Genau durchlesen!!! 
				____________________________________ Weiterhin zu finden auf http://martin.leyrer.priv.at , http://twitter.com/leyrer , http://www.debattierclub.net/ , http://www.tratschen.at/ und via Instant Messaging auf Jabber: m3 <ät> cargal.org . | 
|   |   | 
|  17.05.2002, 09:47 | #4 | 
| Elite  |  Das Bild soll direkt in die Datenbank... der zitierte Artikel http://at.php.net/manual/de/features.file-upload.php hilft mir nicht sehr -  ich möchte das Bild ja NICHT als Datei, sondern direkt in meine Datenbank bei der Tabelle "adressen" ins Feld "Bild" vom Typ "BLOB" schreiben. Wer könnte mir dabei bitte helfen??? danke! 
				____________________________________ Liebe Grüsse Michi | 
|   |   | 
|  17.05.2002, 10:53 | #5 | 
| Inventar  Registriert seit: 24.09.2001 
					Beiträge: 7.335
				 |   Ich sagte ja - GENAU lesen! Das Bild wird Dir von PHP nicht automatisch in eine Variable gestellt, die Du dann einfach in die DB schreiben kannst, sondern du musst das Kopieren der Datei in die DB selber ausprogrammieren! D.h. Datei oeffnen, in eine Variable einlesen, und dann diese Variable in ein Feld der DB inserten. Jetzt klarer? Code: $filecontent = fread(fopen("/usr/local/myfile.jpg", "r"),
filesize("usr/local/myfile.jpg"));
 $filecontent = addslashes($filecontent);
 $res = mysql_db_query("testdb", "
          INSERT
            INTO testtable
          VALUES
            (
             '$filecontent'
             )") or die("Konnte Datei nicht in Datenbank speichern!");
				____________________________________ Weiterhin zu finden auf http://martin.leyrer.priv.at , http://twitter.com/leyrer , http://www.debattierclub.net/ , http://www.tratschen.at/ und via Instant Messaging auf Jabber: m3 <ät> cargal.org . | 
|   |   | 
|  17.05.2002, 11:17 | #6 | 
| Elite  |   danke!!! Ein Problem besteht noch wenn ich Dein beschriebenes fopen("/usr/local/myfile.jpg", "r"), mache: WO in meiner Umgebung liegt dieses Bild, nachdem ich es in der FORM eingegeben habe? Muss ich da im INI des Apache bzw. PHP oder MySQL was verändern, bzw. überhaupt erst was definieren, um das von Dir zitierte "/usr/local/myfile.jpg" irgendwo zu sehen? wenn ich mir meine Daten aus der Bank aufliste, hatte ich nämlich schon einmal beim Herumprobieren mit meiner Eingabemaske einen Text-Eintrag ins Feld "Bild" hineinbekommen. einmal "H:WINDOWSphp1A.tmp" (ohne "\" ) und ein weiteres Mal: "G:\Bilder\Julia.jpg" (weiss aber nicht mehr, wie ich zu diesem eher aussagekräftigem Dateinamen kam???) momentan sehe ich den Wald vor lauter Bäumen nicht mehr  
				____________________________________ Liebe Grüsse Michi | 
|   |   | 
|  17.05.2002, 11:22 | #7 | |
| Inventar  Registriert seit: 24.09.2001 
					Beiträge: 7.335
				 |   Oida voda! Meinen Link hast Du nicht gelesen, oder?  Der Dateiname im Script war ja nur fuer Demo-Zwecke, den richtigen "temporaeren Namen bekommst Du ueber Zitat: 
 
				____________________________________ Weiterhin zu finden auf http://martin.leyrer.priv.at , http://twitter.com/leyrer , http://www.debattierclub.net/ , http://www.tratschen.at/ und via Instant Messaging auf Jabber: m3 <ät> cargal.org . | |
|   |   | 
|  18.05.2002, 16:30 | #8 | 
| Inventar  Registriert seit: 24.01.2001 
					Beiträge: 5.631
				 |   Felder mit dem Datentyp BLOB können mit LOAD_FILE(filename) gefüllt werden (der Datentyp BLOB erlaubt maximal 64 KB Dateninhalt) | 
|   |   | 
|  19.05.2002, 15:27 | #9 | 
| Inventar  Registriert seit: 24.09.2001 
					Beiträge: 7.335
				 |   TINYBLOB, TINYTEXT  L+1 bytes, where L < 2^8   BLOB, TEXT L+2 bytes, where L < 2^16 MEDIUMBLOB, MEDIUMTEXT L+3 bytes, where L < 2^24 LONGBLOB, LONGTEXT L+4 bytes, where L < 2^32 Ein Beispiel zu load_file gibts hier: http://gd.tuwien.ac.at/db/mysql/doc/...functions.html 
				____________________________________ Weiterhin zu finden auf http://martin.leyrer.priv.at , http://twitter.com/leyrer , http://www.debattierclub.net/ , http://www.tratschen.at/ und via Instant Messaging auf Jabber: m3 <ät> cargal.org . | 
|   |   | 
|  19.05.2002, 15:55 | #10 | 
| Inventar  Registriert seit: 24.01.2001 
					Beiträge: 5.631
				 |   Ein Verweis auf die Bilddatei mittels VARCHAR Textfeld 'Dateiname' - z.B. - funzt wesentlich besser. Weniger Segmentierung, weniger Daten in der Datenbank bla bla bla ... Ein einfaches echo "<img src=\"$Dateiname\">"; im php Teil eines *.php / *.phtml Skripts sollte die Datei vom Dateisystem aus laden. Sollte der 'Pfad zur Datei' ein absoluter sein, muß man den HTML Code um "file:" erweitern. echo "<img src=\"file:$Dateiname\">"; | 
|   |   | 
|  | 
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
| Ansicht | |
| 
 | 
 |