PHP imageick Bild-Inforation hinzufügen
mixmastertobsi
- php
Hallo,
ich habe ein kleines Skript geschrieben, welches mit Imageick Bilder verkleinert. Nun möchte ich, dass das verkleinerte Bild aktualisiert wird, sobald das große Bild geändert wurde. Meine Idee war nun, dass ich die Dateigröße der Originaldatei im kleinen Bild speicher und wenn sich die Dateigröße des großen Bild ändert, das kleine Bild aktualisiert wird.
Welche Möglichkeit gibt es solche Informationen im kleinen Bild zu speichern. Gibt es hier irgendwelche Meta-Informationen etc. die man ändern/setzen kann.
Hallo
ich habe ein kleines Skript geschrieben, welches mit Imageick Bilder verkleinert. Nun möchte ich, dass das verkleinerte Bild aktualisiert wird, sobald das große Bild geändert wurde. Meine Idee war nun, dass ich die Dateigröße der Originaldatei im kleinen Bild speicher und wenn sich die Dateigröße des großen Bild ändert, das kleine Bild aktualisiert wird.
Wie soll die Aktualisierung des großen Bildes ausgelöst werden? Wie soll, wenn eine solche erfolgt ist, das kleine Bild „wissen“, dass es sich nun auch zu aktualisieren hat?
Welche Möglichkeit gibt es solche Informationen im kleinen Bild zu speichern. Gibt es hier irgendwelche Meta-Informationen etc. die man ändern/setzen kann.
Wozu sollen diese gut sein?
Tschö, Auge
Das muss dann über einen Crone-Job erfolgen, indem ein Skript alle Bilder öffnet und dann vergleicht. Nur wie bekomme ich diese Information in das Bild...
Hallo
Das muss dann über einen Crone-Job erfolgen, indem ein Skript alle Bilder öffnet und dann vergleicht. Nur wie bekomme ich diese Information in das Bild...
Wenn es denn im Bild selbst sein muss, bietet sich EXIF an. Da der Schlüssen „Datum/Uhrzeit“ für den Aufnahmezeitpunkt reserviert ist, könnte man das in der Beschreibung unterbringen. Ansonsten ließen sich diese Infos auch in einer externen Datei oder in einer Datenbank unterbringen.
Wie wird das große Bild überhaupt geändert? Per Upload oder mit einem PHP-Skript?
Tschö, Auge
@@mixmastertobsi
Das muss dann über einen Crone-Job erfolgen, indem ein Skript alle Bilder öffnet und dann vergleicht. Nur wie bekomme ich diese Information in das Bild...
Wieso ins Bild? Und nicht ans Bild? Da ist die Information nämlich schon.
Das Dateisystem kennt den Zeitpunkt der letzten Änderung von großem und zugehörigem kleinen Bild. Die musst du nur vergleichen und wenn das große Bild neuer ist, dann das verkleinerte Bild neu generieren.
LLAP 🖖
Moin,
ich habe ein kleines Skript geschrieben, welches mit Imageick Bilder verkleinert. Nun möchte ich, dass das verkleinerte Bild aktualisiert wird, sobald das große Bild geändert wurde.
Wenn das Ausgangsbild verändert worden ist, hat es einen anderen Zeitstempel der letzten Modifikation. Daher kann dein Problem mit Make gelöst werden, d.h. in deinem Makefile
stünde dann
J=.jpg
%-klein$J: %-gross$J
verkleinern $< $@
Die Variable $<
löst dabei zur Eingabedatei auf, $@
zur Zieldatei. Das %
ist die Wildcard. Die Regel ist erfüllt, sobald %-gross.jpg
neuer als %-klein.jpg
ist. Der Aufruf wäre dann z.B.:
make Bild1-klein.jpg
Wenn du automatisch alle kleinen Bildern aktualisieren möchtest, kannst du entweder make für alle ausführen lassen,
make *-klein.jpg
wobei die Shell die Wildcard *
expandiert oder du definierst eine Regel im Makefile
:
all: Bild1-klein$J Daumennagel-klein$J Urlaub_im_Forum$J …
und rufst dann einfach auf
make
Viele Grüße
Robert