Mja... Jeg synes den er lidt tricky - især fordi jeg ikke helt forstår hvordan det skal bruges. Men...
Jeg har denne funktion:
function site_url( $postfix = "" )
{
$protocol = (!empty($_SERVER['HTTPS'])) ? "https://" : "http://";
$port = ($_SERVER["SERVER_PORT"] == "80" || $_SERVER["SERVER_PORT"] == "443") ? "" : (":".$_SERVER["SERVER_PORT"]);
if(!empty($postfix) && substr($postfix, 0, 1) != "/")
$postfix = "/".$postfix;
$host = $_SERVER["HTTP_HOST"];
$postfix = str_replace( $protocol . $host, '', $postfix);
return $protocol . $host . $port . $postfix;
}
Den bruger jeg til at få en URL til det site som scriptet ligger på.
Det vil sige at hvis jeg skriver:
echo site_url();
får jeg skrevet
http://example.org ud.
Skriver jeg:
echo site_url("mappe1/mappe2");får jeg skrevet
http://example.org/mappe1/mappe2 ud og så videre...
Min idé, sammen med funktionen kunne være noget ala dette:
echo site_url(str_replace(basename($_SERVER["PHP_SELF"]), "", $_SERVER["PHP_SELF"]));
Det burde give dig mappenavnet i forhold til den fil du skriver sætningen i.