Dateiname aus Pfad extrhahieren
Markus
- php
0 Reto Strub0 annA
Hi,
wie kann ich in PHP aus einem Pfad "D:\web\htdocs\bilder\bild1.jpg"
der in der Variabeln $pfad steht, den Dateinamen "bild1.jpg" in die Variable $realname extrahieren?
Ich habs schon so versucht:
$realname = strrchr($pfad,"\");
$realname1 = stripcslashes($realname);
aber ich bekemme so den letzten "" nicht anständig weg!
Thanks Markus
Hallo Markus
Versuchs mal damit:
<?PHP
$pfad_info = pathinfo("/www/users/test_php/zahlen.txt");
echo $pfad_info["dirname"];
echo "<br>";
echo $pfad_info["basename"];
echo "<br>";
echo $pfad_info["extension"];
?>
Als ausgabe bekommst du so:
/www/users/test_php
zahlen.txt
txt
Gruss Reto
PS: Das ist ein Artikel aus SelfPHP
Hallo Markus,
dafür gibt es eine fertige Funktion:
path = "/home/httpd/html/index.php";
$file = basename($path); // $file enthält den Wert "index.php"
$file = basename ($path,".php"); // $file enthält den Wert "index"
http://www.php.net/manual/de/function.basename.php
Viele Grüße
annA
Das klappt leider nicht... Irgendwie geht das bei Windows Pfadangaben nicht...
Noch eine Idee??
Hi,
Das klappt leider nicht... Irgendwie geht das bei Windows Pfadangaben nicht...
laut Manual müsste es eigentlich gehen: "On Windows, both slash (/) and backslash () are used as path separator character. In other environments, it is the forward slash (/)."
Du könntest allerdings auch folgendes machen:
$pfad = explode('', 'D:\Dein\Pfad\nach\bild.jpg');
$realname = $pfad[count($pfad)-1];
Erklärung: Mit der Funktion explode [1] splittest du den String $pfad anhand des Trennzeichens '' in einen Array auf, und rufst dann das letzte Element aus diesem Array auf. Von count($pfad) [2] muss 1 abgezogen werden, da bei Arrays ab 0 gezählt wird.
Ist vielleicht nicht ganz so elegant wie basename(), aber auf jeden Fall auch wirksam.
[1] http://www.php.net/explode
[2] http://www.php.net/count
Grüße aus Darmstadt,
Benjamin