DWilliams Posted July 29, 2010 Share Posted July 29, 2010 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. Link to comment https://forums.phpfreaks.com/topic/209187-how-can-i-get-the-current-scripts-filename-without-path-info/ Share on other sites More sharing options...
inversesoft123 Posted July 29, 2010 Share Posted July 29, 2010 <?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 ?> Link to comment https://forums.phpfreaks.com/topic/209187-how-can-i-get-the-current-scripts-filename-without-path-info/#findComment-1092440 Share on other sites More sharing options...
newbtophp Posted July 29, 2010 Share Posted July 29, 2010 echo basename(__FILE__); //or echo basename($_SERVER['PHP_SELF']); //or echo basename($_SERVER['SCRIPT_FILENAME']); Link to comment https://forums.phpfreaks.com/topic/209187-how-can-i-get-the-current-scripts-filename-without-path-info/#findComment-1092442 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.