Skip to main content

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önntest basename() verwenden, um file.php zu erhalten, und dann explode('.', 'file.php'), um den Namen und die Endung zu trennen. Das ist aber nicht so robust wie pathinfo(), 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.

Leave a Reply