bild in mysql tabelle packen

socKe|bla

Erfahrenes Mitglied
huhu...
ich möchte ein bild in eine mysql tabelle packen, nicht den pfad dahin, sondern das ganze bildchen, nur irgendwie tut das net so ganz, was ich mir da gecodet hab...

1. welchen typ muss das feld der datenbank haben? text? blob?

2. wie les ich das bild am besten ein?
ich habs bis jetzt einfach so probiert einzulesen...

$file = fopen(...);
while(!feof($file)){
$data .= fread($file,1000);
}
fclose($file);

gibts daran was auszusetzen?

3. kann man irgendwie den content-type auslesen oder muss ichs von der endung ableiten?
 
das mit dem lesen hab ich hinbekommen ^^
jetzt krieg ich das nur trotzdem nicht in meine mysql tabelle rein und weiss nicht, ob man den content-type auslesen kann...
 
hi,
du musst blob (Binary Large Object = grosse Binaerobjekte) benutzen.

Wieso liest du das mit $file = fopen(...) aus?
Das Bild ist dann in der einen Spalte in der Datenbank gespeichert.
auslesen tust du es ganz einfach so:

PHP:
$sql = "SELECT pic_data FROM db_pics";
mysql_query( $sql );
echo($sql);

Die Header Informationen musst du allerdings ueber die Dateiendung erfahren.
Dazu kannst du eine neue Spalte machen, mit pic_name!

edit:
blub, en bissel zu spaet :-)
Hoffe dir trotzdem geholfen zu haben!
 
humba, das will einfach net.
typ von dem feld "data" ist jetzt blob und ich machs so...

"INSERT into `data` (data) VALUES ('$data')"

die tabelle heisst data und das feld auch, die ausgelesenen daten sind in $data ^^
nja, wenn man einfach "echo $data" macht, wird das bild ausgegeben, wenn man das feld ändert (zu einem nicht-blob) und '$data' zu 'hallo' ändert, wird auch hallo ins feld eingetragen...
 
Zurück