How to return only the filename from $_SERVER['PHP_SELF'] in php

How to return only the filename from $_SERVER['PHP_SELF'] in php

Return only the filename from $_SERVER['PHP_SELF']

Do you want to return only the filename of the page on the server without the directory listing as well.

1. First we assign the variable $self which uses $_SERVER['PHP_SELF'] to return the filename with the directory

$self = $_SERVER['PHP_SELF'];

2. Next we remove everything before the last instance of “/” as everything after this is our file name, everything before is our directory. We are using strrchr which takes everything in $self from the last position of “’/”.

$str2use = strrchr($self,'/');

3. Now we find the length of the string and minus 1 from this to remove the “/”.

$length = strlen($str2use)-1;

4. Lastly we use substr to return part of the string, we know the string starts with “/” so we want everything after this so we set the start vaule as 1, as 0 is where “/” is located and use the length of the string we already have. Hey presto you are just returning the filename now.

@$fname = substr($str2use, 1, $length);

The @ sign is used incase $_SERVER['PHP_SELF']; does not return a directory only the filename, ensuring that it will still work regardless.

Here is the code, with variables and also below is the code without the variables just the functions.

<?PHP

$self = $_SERVER['PHP_SELF'];

$str2use = strrchr($self,'/');

$length = strlen($str2use)-1;

@$fname = substr($str2use, 1, $length);

echo "$fname";

?>

<?PHP

@$fname=substr(strrchr($_SERVER['PHP_SELF'],'/'), -(strlen(strrchr($_SERVER['PHP_SELF'],'/')) -1));

?>

 


CAN YOU HELP


Turbo Charge your business

We put our money where our mouth is. Our mission is to help any business anywhere get back on track.

If we don't bring you new customers you pay us nothing. We take nothing up front and there is no contract. We trust you implicitly. And it is literally if you don't pay us for bringing in new customers, then we stop brining them in.

You decide how much you are willing to pay for a customer and you pay once we bring them to you.

Simple, easy nothing else to explain.

If you would like us to help you get your business or products booming email us at zigzads@gmail.com

Speak soon.