phpbar.de logo

Mailinglisten-Archive

Re: DELETE FROM
Archiv Mailingliste mysql-de

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: DELETE FROM



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?



Home | Main Index | Thread Index

php::bar PHP Wiki   -   Listenarchive