Updated March 23, 2023
Introduction to basename in PHP
The basename is a function that is used to get or retrieve the filename from a path. It simply prints the name of the file or directory passed or the existing script name is printed if we use basename $0. This function is used by the programmers to check the name of the existing script or file and to use it in the further flow of the program.
So, developers and programmers use this function in their application so that they can print the filename in the output console. In PHP, there are a lot of functions such as built-in, user-defined, date functions, string functions, numeric functions, math functions, etc. One of the built-in functions is the basename function where the user can get the current filename of the program and can be printed on the output console if required or else the user can just use it for the further flow of the program.
What is basename in PHP?
Basename in PHP is an inbuilt function in the package and can be used by the developers or programmers to print the name of the file on the output screen. The name can be anything mentioned in the input path and the basename function will search for the filename and print on the screen.
basename (path, suffix)
In the above syntax, the basename function is passed with two parameters. The first is the pathname that is the input to the basename function and the second is the suffix which is an optional one which is used when we need to put more conditions to the function.
- Path: It is the main parameter passed to the basename function which checks the name of the file and prints the details on the output screen to the user.
- Suffix: It is an optional parameter that is used when we need to cut off the extensions and want to print only the filename without extension then we can use this parameter. If the filename has any kind of extension like .php, .py, .html, .java, etc. then the extensions will be cut off and only the name of the file will be printed on the output screen.
Examples of basename in PHP
Given below are the examples of basename in PHP:
<?php $basenamepath = "/dev/leela/login.php"; echo basename($basenamepath) ."<br/>"; ?>
In the above code, the basename path is the variable that is storing the full path and the echo statement will print the output on the output screen. The input to the basename function is the variable basename path and the output printed will be the filename mentioned in the input. The basename checks the path and cuts off the remaining part of the path and prints the filename itself unless and until any extra arguments are passed to modify the output.
<?php $basenamepath = "/dev/leela/login.php"; echo basename($basenamepath,".php"); ?>
In the above example, the basename path is the variable that is storing the full path and the echo statement will print the output in the screen. The input to the basename function is the basename variable and the output printed in the console is slightly different from the above one. Here, the echo statement is having a constraint which states that the filename should be printed without extension i.e. instead of login.php just print login. We can specify some of the extra arguments to the function which will process the data into the mentioned condition and can be coded by the developer as per application functionality.
<?php $basepath = "/dev/leela/welcome.php"; echo "The name of the file is "; echo basename($basepath); ?>
In the above example, the basepath is the name of the variable which is holding the path information and the basename function is used to print the name of the file and the echo statement above the basename is used to print the statement coded by the developer or programmer for the user to understand it easily. If the user is not able to understand what is the functionality of the basename the developer can code it in such a way that the user can understand it easily by adding a few print statements.
Though the basename function has a specific functionality it has few exceptions which need to be understood.
- The basename function recognizes only a single dot (.) and not double dots (..). In Linux, the double dots are used to move the current directory to the one previous to it. So it doesn’t recognize double dots (..) which is used in Linux and only recognizes a single dot just like the extension for the file.
- The basename function operates on the input that is passed by the user. It never checks the file system that the user is currently working on. It can be Windows, Linux, Mac, etc. Each and every system have their own format and the function cannot recognize the file system and can give us the wrong output. So it is better to pass the parameter to the basename function.
- In Linux, the slashes are used to separate directories in a path and in Windows also the slashes are used to separate the folders from one another. In both cases, slashes are used but in a different way. In Windows, the forward slash is used (/) and in some of the environments backslashes (\) are used. So it will be very difficult for the function to understand the environment and act upon it.
In this article, we saw the basename function in PHP and how it works. We also understood the exceptions that we need to take care of when using this function and use it appropriately. While using the basename function we need to pass the parameters properly else we might get wrong output and should take off the pattern i.e. forward slashes and backward slashes.
This has been a guide to basename in PHP. Here we discuss the basic concept with different examples of basename in PHP. You may also have a look at the following articles to learn more –