Mailinglisten-Archive |
>wie speichere ich ein Blob in Mysql unter Benutzung von PHP. Datenquelle
soll
>ein File (Bild) sein.
>Natuerlich waere es besser, das File ins Filesystem zu geben, mich
interessiert
>es aber, ob es ueberhaupt geht, und wenn ja, wie.
Klar geht es. Lies die Datei in einen String ein, addslashes() und ab damit
nach MySQL.
Beispiel:
$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!");
Falls magic_quotes_runtime auf on gestzt ist, kannst Du das addslashes()
natürlich weglassen.
magic_quotes_* ist BTW das IMHO dümmste "Feature" von PHP3: Ein Skript, das
magic_quotes_gpc=on voraussetzt funktioniert nicht auf Systemen, welches die
Option ausgeschaltet haben und umgekehrt. Zudem lässt sich der aktuelle Wert
nichtmal auslesen, oder kennt da jemand einen Weg?
Mit freundlichen Grüßen,
Tobias Ratschiller
php::bar PHP Wiki - Listenarchive