Hello,
Wenn du nur JPG und GIF-Dateien erlaubst und PHP verwendest, kannst du den Typ mit getimagesize() auslesen und eine entsprechende Endung zuweisen. Um den Dateinamen ohne Endung zu erhalten hilft dir sicher basename() weiter
basename() sollte den Dateinamen _mit_ Endung liefern, es sei denn, man kennt die Endung schon, dann kann man sie durch das Zusatzargument in der Funktion abschneiden lassen.
Ich würde aber basename() immer auf den übertragenen Namen des Bildes anwenden, weil dieser auch einen ganzen Pfad enthalten könnte und dann könnten auf dem Server unangenehme Dinge geschehen.
Außerdem würde ich Bilder auch nicht unter dem Wunschnamen des Clients abspeichern, sondern unter einem eigenen, der dann zu einem teil zufällig gewählt wird zum anderen Teil die User-ID enthält. Dann lassen sich die gesammelten Werke auch wiederfinden.
Den gewünschten Bildnamen merkt man sich dann in einer Tabelle.
Und dann noch was: Die Bilder möglichst nicht in einem Verzeichnis abspeichern, dass direkt durch HTTP erreichbar ist oder zumindest nicht geparst wird beim Aufruf. Da könnten sich dann doch mal "Bilder" einschliechen, die in Wirklichkeit eigentlich PHP- oder Perl-Code sind.
Ein harzliches Glückauf
Tom vom Berg