Also wenn Du dieser Henry bist, dann gilt Deine Kritik auch für Deine Antwort…
Im Übrigen hatte ich mit "Alles andere sind die Definitionsfragen. Definitionsfragen löst kein Programm." durchaus darauf hingewiesen, dass noch Informationen fehlen. Zudem ergab sich das (Informationsbedürfnis) zu diesem Zeitpunkt längst auch aus dem Kontext der früheren Antworten Dritter.
Ferner habe ich nicht, wie ein gewisser "Henry" (ich weiß nicht, ob Du das warst) einen verschachtelten Einzeiler "$res = substr(strrev(strstr(strrev(basename($str)),'.')),0,-1);" hingeworfen, sondern meinen Lösungsvorschlag auch noch in die einzelnen Zwischenschritte aufgelöst und gezeigt, wie man sich die Zwischenergebnisse ansieht.
Ich denke schon, dass ich der Kritik gerechtfertigt entgegne.