[PHP] Dateiendung ausgeben

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
Underhill
Mitglied
Beiträge: 1180
Registriert: 24.09.2003 11:40
Wohnort: 742 Evergreen Terrace

[PHP] Dateiendung ausgeben

Beitrag von Underhill »

Hi,

ich bin etwas unentschlossen...

Code: Alles auswählen

$extention = substr($filename, -4, 4);
oder

Code: Alles auswählen

preg_match('/.{4}$/', $filename, $array);
$extention = $arry[0];
Beides gibt mir von "dateiname.end" die gewuenschte Endung ".end" aus.

Ich persoenlich finde nur die Perl-kompatibele Variante etwas umstaendlicher...

Was ist besser/schneller? Oder gibt es eine andere Methode (ohne Pear)?


Danke und Gruss
Underhill
Benutzeravatar
Olli Oberhausen
Mitglied
Beiträge: 561
Registriert: 22.10.2004 01:03
Wohnort: Oberhausen NRW
Kontaktdaten:

Beitrag von Olli Oberhausen »

Ich nutze das hier.

Code: Alles auswählen

$extension = strtolower( substr( strrchr($filename, ".") ,1) );
Gibt nur die extension aus (jpg, jpeg, tiff usw)
substr() ist bei einfachen operationen immer schneller ans preg_

Gruß, Olli
Neulich im Zoo: Papa, guck mal, da sind Linuxe...
KB-Suche :: db_update_generator :: phpMyAdmin
Winmerge :: Zend Studio
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17476
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Beitrag von Dr.Death »

Und so wird es in phpBB3 Olympus gemacht:

Code: Alles auswählen

$phpEx = substr(strrchr(__FILE__, '.'), 1);
Benutzeravatar
Underhill
Mitglied
Beiträge: 1180
Registriert: 24.09.2003 11:40
Wohnort: 742 Evergreen Terrace

Beitrag von Underhill »

Bingo!

Nar klar :roll:

Code: Alles auswählen

strrchr($file, '.')
ist besser...

Ich hatte mich erst nur an "strstr()" aufgehalten, die Idee aber wieder verworfen weil es nicht Rueckwaerts ist... :roll:

Danke fuer den Tipp...

Gruss
Underhill
Benutzeravatar
StarWolf3000
Mitglied
Beiträge: 1019
Registriert: 25.07.2005 10:20
Wohnort: Stolpen
Kontaktdaten:

Beitrag von StarWolf3000 »

hab auch noch was:

Code: Alles auswählen

strtolower(substr(basename($file), strrpos(basename($file), ".")+1))
den strtolower-Aufruf kann man auch weglassen, wenn nichts an der Groß-/Kleinschreibung geändert werden soll
MOD-Einbauhilfe und Installationen über ICQ, TeamSpeak 2/3 und TeamViewer. Support nur im Forum, eingeschränkt per TeamViewer, aber nicht mehr per PN! • KB:knigge
Benutzeravatar
Underhill
Mitglied
Beiträge: 1180
Registriert: 24.09.2003 11:40
Wohnort: 742 Evergreen Terrace

Beitrag von Underhill »

Hi,

danke - aber "basename()" ist nicht mehr erfoderlich, da an dieser Stelle bereits der Dateiname als solcher existiert...


Gruss
Underhill
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Antworten

Zurück zu „Coding & Technik“