festellen ob ein GIF animiert ist oder nicht
Andreas
- php
Hallo PHP Profis !
hat jemand von euch evtl. eine Ahnung wie man unter PHP feststellen kann ob ein (vom User hochgelades) GIF Bild animiert ist, oder aber nur 1 Frame enthält?
Zum Hintergrund:
User sollen auf einer Webseite Bilder hochladen, welche dann in einer MySQL Database gespeichert werden. Es sollten aber nur Bilder mit einem Frame erlaubt sein und keine Animationen!
Danke für eure Hilfe?
Grüße,
Andreas
Moin!
User sollen auf einer Webseite Bilder hochladen, welche dann in einer MySQL Database gespeichert werden. Es sollten aber nur Bilder mit einem Frame erlaubt sein und keine Animationen!
Wenn du das GIF mit der GDLIB einliest und wieder speicherst, sollte eigentlich jegliche Animation entfernt werden, da die GDLIB keine Animation unterstützt.
PS: Es ist technisch ungünstig, Bilder in eine Datenbank zu speichern, das Dateisystem ist viel besser geeignet, insbesondere auch zum Wiederausliefern des Bildes.
- Sven Rautenberg
Hallo Sven,
danke für die schnelle und kompetente Antwort ... das werde ich mal prüfen. Ggf. könnte ich ja auch jedes GIF in JPG (für interne Nutzung) wandeln. Dann sollte ja auf jeden Fall nur das erste Frame übernommen werden, oder?
Mit den Bildern in MySQL hast du völlig recht. Das Dateisystem eignet sich dafür klar besser als die Database. Lediglich auf Konsistenz muß dann natürlich geachtet werden ...
Danke,
Andreas
Moin!
danke für die schnelle und kompetente Antwort ... das werde ich mal prüfen. Ggf. könnte ich ja auch jedes GIF in JPG (für interne Nutzung) wandeln. Dann sollte ja auf jeden Fall nur das erste Frame übernommen werden, oder?
Dann würde ich eher PNG wählen. Die Konvertierung in JPG hat sonst entweder eine Vergrößerung der finalen Datei oder einen u.U. sichtbaren Qualitätsverlust zur Folge. PNG komprimiert unter normalen Umständen etwas besser als GIF, speichert aber ebenso verlustfrei - und wird in der 256-Farben-Version auch von allen Browsern unterstützt.
Mit den Bildern in MySQL hast du völlig recht. Das Dateisystem eignet sich dafür klar besser als die Database. Lediglich auf Konsistenz muß dann natürlich geachtet werden ...
Auf Konsistenz muß man bei MySQL sowieso in der Regel manuell achten, da die allermeisten DB-Applikationen keine Fremdschlüssel, Trigger etc. verwenden, mit denen so etwas automatisch ginge.
- Sven Rautenberg