Nach . nicht vor .

Riegel

Mitglied
Ich weis, Steinigung ist vorprogrammiert, bin aber zu dumm dazu

PHP:
$datei = 'test.php';
$name = substr($datei,0,strpos($datei,'.'));

Wie bekomme ich die Dateiendung allein, nicht das vor dem .

danke
 
PHP:
$dateiteile = Explode('.',$filename);
$dateiendung = $dateiteile[Count($dateiteile)-1];

Werden hier doch keinen Steinigen
 
PHP:
<?php
error_reporting(E_ALL);

$file = "datei.txt";

echo substr(strrchr($file, "."), 1);

?>
Wenn du nur substr() verwenden würdest, könntest du Probleme mit Dateitypen bekommen die nur 2 oder mehr als 3 Buchstaben als Bezeichung haben
 
Hi,
probiers doch mal so:

PHP:
$datei = 'test.php';
$endung = substr($datei,strpos($datei,'.'), 3);
Die Syntax von substr ist substr($String, startposition, länge);

mfg
Daniel
 
Will zwar nur ungerne so besserwisserisch daherkommen, aber: Die Version von Djunix funktioniert IMHO nur, wenn nicht im Dateinamen (also vor der Endung) bereits ein Punkt steht. Bspw. würde sie für die Datei "/pfad/Eine.datei.php" "datei.php" liefern. (Besonders gefählich bei "../../pfad/datei.php").
Die Version von Flex ist sicher, da sie "von hinten her" nach dem Punkt sucht.
 
Hallo,

warum macht ihr es euch denn scho schwer? Für solchen Fälle gibt es doch [phpf]pathinfo[/phpf]:
PHP:
<?php

$path = './foo/bar/file.php';
$parts = pathinfo($path);
$extension = $parts['extension'];

?>

Grüße,
Matthias
 
Zurück