Basename in PHP | PHP basename() Function
Updated on Jul 03, 2023 | 8 min read | 6.4k views
Share:
For working professionals
For fresh graduates
More
Updated on Jul 03, 2023 | 8 min read | 6.4k views
Share:
Table of Contents
PHP has a function called basename that helps to fetch the filename present at the specified path. The function returns and prints the filename or the directory path passed in arguments. The procedure also displays the script name if the basename used is $0. Programmers use this function to check the files present at the specified location or use the program flow filenames.
Hence, the programmers use the basename function in PHPto find the files present at any location and get them printed on the console. The basename function is like any other built-in function or user-defined function in PHP, such as string functions, math functions, numeric functions, date functions, and many more.
Check out our free courses to get an edge over the competition.
The basename is an in-built function in PHP, which returns the file name present at the path provided as an argument.
Syntax:
Below is the syntax to use the Basename function in PHP.
String basename($path, $suffix)
The function has two parameters, i.e., path and suffix.
Check out upGrad’s Advanced Certification in DevOps
The function returns the file basename, which is present at the path passed as $path in the basename parameter.
Example1: The code prints the name of the file present at a specified location without using the optional parameter $suffix.
<?php
// Save the path in the $path variable
$path = “/ExampleProject1/Example1.php”;
// basename function finds the name of the file present at $path and saves it in //$fileName variable
$fileName = basename($path);
Check out upGrad’s Full Stack Development Bootcamp (JS/MERN)
// Prints the filename
Echo $fileName;
Echo “\n”
?>
Output:
Example1.php
Here, only the $path parameter is passed with the basename function call, so the complete file name gets printed.
Example2: The code prints the file’s name at the specified location when the optional parameter $suffix is passed.
<?php
// Save the path in the $path variable
$path = “/ExampleProject1/Example1.php”;
// Using the $suffix parameter so that the output contains only the filename, without //extension
$fileName = basename($path, “.php”);
Echo $fileName;
?>
Output:
Example1
Here, $suffix is passed with a function call, so only the file name gets printed without extension.
Example3: The code prints the name of the file present at the specified location with both versions of the basename function.
<?php
// Save the path in the $path variable
$path = “/Project1/team1/FirstProgram.php”;
// Using the $path parameter with basename function
$fileName = basename($path);
Echo $fileName;
Echo “\n” // It takes the cursor to next line
// Using the $path parameter with basename function
$fileName = basename($path, “.php”);
Echo $fileName;
?>
Output:
FirstProgram.php
FirstProgram
When only the $path is passed as a parameter, the complete filename gets printed. When the $suffix .php is passed with a function call, the .php gets hidden and only filename gets printed.
It is indeed necessary to understand the functioning and usage of basename function in PHP, but it is also crucial to understand the exceptions to use the process accurately:
Cannot identify the $path value given as ‘..’; however, it can recognise the single dot ‘.’. Double beads ‘..’ are only used in Linux that move the location from the current directory to the previous directory. As double dots ‘..’ is used in Linux only, sobasename in PHP only recognises the single drop ‘.’.
Uses the $path passed as string and is not aware of the file system. It implies that the process only works on the way passed as a parameter irrespective of the filesystem type. The file system can be Mac, Linux, and Windows. As each of these file systems has a different format, and basename function cannot recognise the type of filesystem used. Therefore, the output can get wrong. Hence, it is recommended to pass parameters in the basename function.
Slashes are used as the separator in the directory path or to separate the folders. Windows platform can recognise both backslash (\) and forward-slash (/) as a separator in the directory path, while in other environments, only forward-slash (/) gets used. So, we should use slash cautiously while using the basename function in PHP.
Learn Software Courses online from the World’s top Universities. Earn Executive PG Programs, Advanced Certificate Programs, or Masters Programs to fast-track your career.
When using the basename( ) function in PHP, it’s crucial to be aware of potential errors and exceptions. One common error occurs when an invalid file path is provided. This can lead to unexpected outcomes, such as an empty base name or incorrect results. To avoid such issues, it is essential to ensure that the file path is accurate and accessible.
By validating the file path and handling any potential errors or exceptions, you can maintain the reliability and integrity of your PHP code.
Syntax
The syntax of the basename in PHP file is straightforward and follows this structure:
basename(path, suffix)
In this syntax:
path: Represents the file path as a string.
suffix (optional): Denotes the suffix to be removed from the base name. It is also provided as a string.
By adhering to this syntax, you can effectively utilize the basename( ) function in your PHP code.
The basename( ) function in PHP returns the base name of the file, excluding the directory path. This extracted base name is useful when you need to isolate and work with the file name separately from the entire path.
The return value of the basename( ) function is a string, representing the base name of the file. This value can be assigned to a variable or directly utilized in your PHP program to perform further operations or display information to the user.
Example:
<?php
$path = “/var/www/html/index.php”;
$basename = basename($path, “.php”);
echo $basename;
?>
Live Demo:
index
In this example, the basename function removes the directory path and the suffix “.php” from the given file path.
In JavaScript, there is no built-in function like basename PHP. However, one can implement a similar function using JavaScript code. The basename PHP function returns the filename component of a path, removing any directories or slashes. The following example shows how you can achieve the same using JavaScript:
function basename(path) {
// Normalize the path by replacing backslashes with forward slashes
path = path.replace(/\\/g, ‘/’);
// Get the last part of the path after the last slash
var lastIndex = path.lastIndexOf(‘/’);
var filename = path.substr(lastIndex + 1);
// Return the filename
return filename;
}
// Example usage
var fullPath = ‘/path/to/somefile.txt’;
var filename = basename(fullPath);
console.log(filename); //
Output:
somefile.txt
This was all about the basename function in PHP. We hope you have a deep understanding of PHP’s basename, usage, syntax, and different exceptions. The exceptions should be considered before using the basename function so that the correct output can be expected from it.
If you’re interested to learn more about full-stack software development, check out upGrad & IIIT-B’s Executive PG Program in Full-stack Software Development, which is designed for working professionals and offers 500+ hours of rigorous training, 9+ projects, and assignments, IIIT-B Alumni status, practical hands-on capstone projects & job assistance with top firms.
Get Free Consultation
By submitting, I accept the T&C and
Privacy Policy
India’s #1 Tech University
Executive PG Certification in AI-Powered Full Stack Development
77%
seats filled
Top Resources