Mailinglisten-Archive |
Moin Moin! Ok, hier der gewünschte Code Fetzen: 8) Meine Tabelle mit den Bildern (vereinfacht): CREATE TABLE pictures ( id MEDIUMINT UNSINGED NOT NULL DEFAULT '0' AUTO_INC..., name VARCHAR(24) NOT NULL, # 24 ist meine Begrenzung für Dateinamen. image LONGBLOB, # das BILD ); So jetzt lese ich über ein Form das Bild ein: <INPUT TYPE=FILE NAME="picture"> Dann fügt folgender code die Bilder ein: $fd = fopen ($picture, "r"); $image = fread ($fd, filesize ($picture)); fclose ($fd); $image = addslashes ($image); $sqlst = "INSERT INTO pictures (id, name, image) VALUES (0, '$picture_name', '$image')"; $result = mysql_db_query ( $dbName, $sqlst, $li ); Rausholen tue ich das ganze mit nem script wie diesem: $sql ist meine mySQL Class ... $id wird per QUERY_STRING übergeben $result = $sql->query("SELECT name, image FROM pictures WHERE id=$id"); $pic = mysql_fetch_object($result); $sql->close; if (!$pic) { header("Location: /img_err.gif"); exit; } else { $pic_type = substr($pic->name, strrpos($pic->name, ".")+1, strlen($pic->name)); if ($pic_type == "jpg") $pic_type = "jpeg"; header("Content-type: image/$pic_type"); echo $pic->image; } So nun habe ich das Bild auf der Seite ;) In einer vorherigen Mail hast du geschrieben: > Ich denke, PHP-Rasmus liegt da richtig, weil ich mir die Datenbank nicht > so performant wie das FS vorstellen kann. Aus dem FS kann ich (als > Apache) die Datei so ziehen, in der Datenbank muß ich erstmal einen > Thread forken, SQL analysieren, Daten lokalisieren. Nun, sobald du die auch nur die Dateinamen in der Datenbank hast, muss er "Thread forken, SQL analysieren, Daten lokalisieren." ... Das dumme ist, ich habe kein Lust bei ca. 1000 Produkten ein Verzeichnis zu durchsuchen wenn mir ein Bild nicht mehr passt und ich diese durch ein anderes Ersetzen will. Das die Bilder immer heißen wie das Produkt selbst kann ich nicht garantieren. Also ich bleibe bei der Variante, daß ich die Bilder in der Datenbank behalte, und diese sich selbst verwalten lasse ... Eigentlich soll es eh nicht vorkommen daß Produkte gelöscht werden, somit entsteht eigentlich kein Problem mit den Speicherplatz. (Zur Optimierung lasse ich jeden Abend einmal isamchk durchlaufen. :) mfg Thomas -----Ursprüngliche Nachricht----- Von: Matthias Pigulla <mp_(at)_webfactory.de> An: <mysql-de_(at)_lists.4t2.com> Gesendet: Samstag, 10. April 1999 19:20 Betreff: Re: DELETE FROM > Wenn Du wirklich die Bilder in der Datenbank hast (in BLOBs), dann poste > doch mal bitte den Code, würde mich interessieren ;-) Hat jemand ein > Snippet, um eine Binärdatei in C einzulesen und unter Beachtung der > notwendigen Schritte (muß man nicht bestimmt Zeichen escapen?) in einer > DB abzulegen?
php::bar PHP Wiki - Listenarchive