Teile aus einer URL auslesen?
Lordi
- php
Hallo,
ich möchte zum beispiel aus der Adresse http://www.irgendwas.de/test.php nur den Dateinamen haben. Das mache ich so:
$dateiname = basename($_SERVER["PHP_SELF"]);
In $dateiname steht jetzt test.php. Aber hier das eigentliche Problem: Ich möchte nur das 'test'... das .php soll weg.
Wie kann ich das machen?
Grüsse
Lordi
Hallo Lordi,
$newfilename = substr($filename,0,strlen($filename)-4);
Schönen Gruß aus München
die knappschaft
Hallo Lordi,
In $dateiname steht jetzt test.php. Aber hier das eigentliche Problem: Ich möchte nur das 'test'... das .php soll weg.
Wie kann ich das machen?
Einfache Antwort: gar nicht.
Komplizierte Antwort:
Eine Erweiterung kann ja aus mehreren Teilen bestehen, abc.tar.gz ist ein Archiv mit der Erweiterung "tar.gz"; bei hallo.welt.c ist die Erweiterung lediglich "c" und der Dateiname "hallo.welt". Programmiertechnisch kannst Du ohne eine Liste der bekannten Endungen das nicht unterscheiden.
Wenn Du aber mit Sicherheit weißt, dass der _letzte_ Punkt die Endung trennt, dann könntest Du diese Funktion verwenden:
function dateiname ($name) {
$res = preg_match ('!^(.*)..*?$!', $name, $matches);
if ($res) {
return $matches[1];
} else {
return $name;
}
}
Wenn Du mit Sicherheit weißt, dass der _erste_ Punkt die Endung trennt, dann kannst Du diese Funktion verwenden:
function dateiname ($name) {
$res = preg_match ('!^(.*?)..*$!', $name, $matches);
if ($res) {
return $matches[1];
} else {
return $name;
}
}
Wenn Du mit Sicherheit weißt, dass die Datei auf .php endet, dann kannst Du auch Saschas Methode verwenden.
Viele Grüße,
Christian