explode

Samy-Deluxe

Erfahrenes Mitglied
Hallo ich wollte mit explode() den letzten Teil herrausfinden, also den Typ eines Bildes.
Bei mehreren Punkten gibts Probleme.
PHP:
<? 

$yo = explode(".", 'lol.lo.l.xo.jpg')

echo $yo[1];
?>

Gibts da eine einfache Lösung, ohne eine while oder for Schleife.
 
count() kann Dir dabei helfen.

Dieser Code gibt Dir immer den letzten Teil aus.
PHP:
$yo = explode(".", 'lol.lo.l.xo.jpg')

echo $yo[count($yo)-1];
 
yo es geht, Danke für deine schnelle Hilfe.
Es funktioniert auch mit

PHP:
<? 

$yo = explode(".", "lol.lo.l.xo.jpg");

echo end($yo);  
?>
also mit der funktion end()
 
Zuletzt bearbeitet:
Hmm, PHP kann doch noch mehr:
[phpf]getimagesize()[/phpf]
[phpf]image_type_to_extension[/phpf]

Und hier wäre es sogar möglich die Endung zu fälschen -> PHP ließe sich nicht dadurch austricksen.

Alternativ ginge auch:
PHP:
$string="blabla.blabla.bla.ext";
$ext = substr(strrchr($string, "."), 1);
 
Es ist tatsächlich sicherer mit beispielsweise der getimagesize()-Funktion zu prüfen, ob es sich bei der Datei um eine tatsächliche Grafikdatei handelt, als nur die Dateiendung zu prüfen – denn die sagt nicht zwangsläufig etwas über den Inhalt aus.
 
Neurodeamon hat gesagt.:
Hmm, PHP kann doch noch mehr:
[phpf]getimagesize()[/phpf]
[phpf]image_type_to_extension[/phpf]

Und hier wäre es sogar möglich die Endung zu fälschen -> PHP ließe sich nicht dadurch austricksen.

Alternativ ginge auch:
PHP:
$string="blabla.blabla.bla.ext";
$ext = substr(strrchr($string, "."), 1);
Da hast Du ja eine Funktion ausgegraben. ;)
Die Doku dazu ist ja nicht gerade umfassen, und es ist nichtmal angegeben in welcher PHP-Version die Funktion zu finden ist. Selbst die Doku spekuliert, dass sie nur im CVS zu finden ist.
Hast Du mal getestet ob diese Funktion in einer aktuellen PHP-Version funktioniert?
 
Zurück