11 Stimme

PHP: Dateipfad in Bestandteile zerlegen - Pfad, Dateiname und Endung

Frage von Compi | 07.07.2015 um 15:44

Bietet PHP eine Funktion an, um einen gegebenen Dateipfad wie zum Beispiel "/www/htdocs/file.txt" in seine Bestandteile zu zerlegen? Also in den Pfad "/www/htdocs/", den Dateinamen "file" und die Endung "txt"?

Ich weiß, dass ich das Resultat auch mit diversen PHP-Funktionen wie zum Beispiel substr, explode, implode und split hinbekommen kann, ich hätte aber gerne eine einfachere Lösung, wenn es diese denn gibt.

AntwortenPositivNegativ
0Beste Antwort0 Stimmen

Du kannst einfach die PHP-Funktion pathinfo() benutzen und deinen Dateipfad übergeben. Du erhältst dadurch einen Array mit allen Bestandteilen des Dateipfads. Hier ist ein Beispiel, wie du pathinfo() aufrufen und die Informationen auslesen kannst.

$pi = pathinfo('/www/htdocs/file.txt');

$pi['dirname'];   // /www/htdocs/inc
$pi['basename'];  // file.txt
$pi['extension']; // txt
$pi['filename'];  // file

Falls du nicht alle Informationen benötigt, kannst du als zweiten Parameter eine der Konstanten PATHINFO_DIRNAME, PATHINFO_BASENAME, PATHINFO_EXTENSION oder PATHINFO_FILENAME übergeben und damit nur diesen Bestandteil extrahieren. Ein Beispiel dazu findest du im Thema Dateiendung einer Datei mit PHP auslesen.

Wenn du mehr Informationen über die Datei benötigst, kannst du auch SplFileInfo benutzen. 

Hier ist ein kleines Beispiel:

$finfo = new SplFileInfo('/www/htdocs/file.txt');

$path  = $finfo->getPath();       // /www/htdocs/inc
$bname = $finfo->getBasename();   // file.txt
$ext   = $finfo->getExtension();  // txt
$size  = $finfo->getSize();       // Integer Zahl

Ansonsten gibt es zum Beispiel noch isDir, isFile, isReadable, isWritable etc.
07.07.2015 um 18:22

AntwortenPositiv Negativ
Antworten

Ähnliche Themen

HTACCESS: URL vereinfachen

Tutorial | 0 Kommentare

PHP: Datei Download Skript

Tutorial | 0 Kommentare

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.