Rolf b: Dokumentname extrahieren

Beitrag lesen

SCRIPT_NAME liefert Dir den Namen des gerade ausgeführten PHP Scripts, d.h. wenn Dein Anwender die Seite http://example.org/foo/wandern.php abruft (und keiner die URL rewrited), findest Du in SCRIPT_NAME den Wert '/foo/wandern.php'. Freundlicherweise sind Query-Parameter oder ein PATH_INFO bereits entfernt. Also: Gut gewählt :)

basename('/foo/wandern.php') liefert Dir 'wandern.php'. Du wolltest aber, wenn ich das richtig verstanden habe, 'wandern' haben.

Nun kommst Du in Entscheidungszwang: Was ist mit "wandern.map.php"? Willst Du "wandern" oder "wandern.map" haben? Abhängig davon musst Du nun den ersten oder letzten Punkt im basename-Ergebnis suchen. Das geht mit einer Regex ganz easy - aber das willst Du ja nicht 😉. Mit strpos bzw. strrpos ist es aber auch nicht schwer.

$bsnam = basename("/foo/wandern.map.html");

// entweder
$first = strpos($bsnam, ".");
$pureName = substr($bsnam, 0, $first);

// oder
$last = strrpos($bsnam, ".");
$noExt = substr($bsnam, 0, $last);

Rolf