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));

?>

HOW TO GET MORE CUSTOMERS

How to stop paying council tax 

I'm having a clear out, new things added daily

How to stop paying council tax

Stunning cushion 40cm x 40cm...

Stunning cushion 40cm x 40cm Constellations of thoughts


£24.00

Matt Handcock Pin cushion...

Matt Handcock Pin cushion


£3.99

Wine bottle gift bag/ holder...

Wine bottle gift bag/ holder linen new hand made


£3.00

Bean Bag door stop - new ...

Bean Bag door stop - new


£4.00

New Glasses Holder...

New Glasses Holder


£4.00

New Glasses Holder...

New Glasses Holder


£4.00

Stunning cushion 40cm x 40cm...

Stunning cushion 40cm x 40cm Constellations of thoughts


£24.00

Cleaner in Woking