DirkO wrote:
> Ich habe ein Projekt übernommen, bei dem Bild-Dateien in Blob-Feldern
> der Datenbank gespeichert sind.
Das ist ärgerlich...
> Momentan liegt die Bildinformation in einem Blob-Feld der Datenbank.
> Wie kann ich also mittels PHP
>
> a.) diese Information aus der Datenbank herauslesen,
Genau wie alle anderen Informationen. Unterschied gibts da keinen.
> "SELECT id FROM c_abteilung WHERE ac_file != '' ;" würde alle
> Datensätze lesen, was eine riesen Datenmenge bedeutet.
Na du must die ja nicht alle im Speicher halten.
> also in einer Schleife die Datensätze abarbeiten, welche Bilddaten
> enthalten, ohne alle Datensätze zu selektieren.
Das eine schließt das Andere ja nicht aus.
> b.) das Bild in eine PNG Datei schreiben,
Wie man halt ne Datei schreibt. Da gibts nix besonderes zu beachten.
> c.) der Datei einen eindeutigen Namen geben,
mit unique_id() z.B. Kann man auch mit Prefix o.ä. versehen.
> e.) den Namen anstelle des Bildes in der Datenbank ablegen, damit der
> Datensatz den Bezug zu der Bilddatei kennt und das Blobfeld leeren.
- Neu Spalte für Dateiname anlegen
- Durch Abfrageergebnisse iterieren und dabei
- Name + Pfad zur Bilddatei erstellen
- Bilddatei schreiben
- Dateiname + Datensatz-ID merken (Array) oder
gleich als SQL-Statement zum einfügen des Dateinamens
- Spalte mit blob für Bild löschen
- Alle Updates für die Dateinamen ausführen (z.B. als Transaktion)
MfG, Ulf
--
_,
_(_p> Ulf [Kado] Kadner
\<_)
^^
