Erklärung: pathinfo()
Diese Funktion nimmt einen Pfad-String entgegen und gibt ein assoziatives Array zurück, das bereits alle gewünschten Teile enthält: den Verzeichnispfad, den Dateinamen, die Endung und den Namen ohne Endung.
Beispiel:
PHP
$path = 'user/test/folder/file.php';
// Analysiere den Pfad mit pathinfo()
$path_parts = pathinfo($path);
// Das Ergebnis ist ein schönes, aufgeräumtes Array:
/*
$path_parts ist jetzt:
[
"dirname" => "user/test/folder",
"basename" => "file.php",
"extension" => "php",
"filename" => "file"
]
*/
// Jetzt kannst du deine gewünschten Informationen einfach zusammenstellen:
$result = [
'verzeichnis' => $path_parts['dirname'] . '/', // Füge den abschließenden Slash hinzu
'datei_komplett' => $path_parts['basename'],
'dateiname' => $path_parts['filename'],
'endung' => $path_parts['extension']
];
print_r($result);
Dieses Vorgehen ist die Standardmethode, da es am zuverlässigsten und am einfachsten zu lesen ist.
Alternative Methoden (manuell)
Du könntest dies auch manuell mit String-Funktionen erreichen, aber es ist umständlicher und fehleranfälliger als pathinfo()
.
dirname($path)
: Gibt nur den Verzeichnispfad zurück (user/test/folder
).basename($path)
: Gibt nur den Dateinamen mit Endung zurück (file.php
).- Kombination mit
explode()
: Du könntestbasename()
verwenden, umfile.php
zu erhalten, und dannexplode('.', 'file.php')
, um den Namen und die Endung zu trennen. Das ist aber nicht so robust wiepathinfo()
, besonders wenn der Dateiname selbst Punkte enthält.
Zusammenfassend: Verwende immer pathinfo()
, wenn du einen Dateipfad in seine Bestandteile zerlegen möchtest. Es ist genau für diesen Zweck gemacht.