Jump to content

How can I get the current script's filename without path info?


DWilliams

Recommended Posts

I've looked through all the $_SERVER vars and all of them return path information in some way or another. I just want the script name, nothing else. If I call the code from index.php I want it to return "index.php" not something like "/var/www/path/to/something/index.php". I know I could explode on / and grab the last element but that seems kinda iffy to me. If my script is run on a windows box with \ as the directory separator it would malfunction likely.

<?php
function currenturl() 
{
$s = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : ""; $protocol = strleft(strtolower($_SERVER["SERVER_PROTOCOL"]), "/").$s; $port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]); return $protocol."://".$_SERVER['SERVER_NAME'].$port.$_SERVER['REQUEST_URI']; 
} 
function strleft($s1, $s2)
{ 
return substr($s1, 0, strpos($s1, $s2)); 
}
$currurl = currenturl();
echo $currurl; // PRINTS FULL URL
$scriptname = end(explode('/',$currurl));
echo "<br/>";
echo $scriptname; // PRINTS SCRIPT NAME
?>

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.