Updated April 5, 2023
Introduction to PHP get file extension.
PHP file extension is very useful in order to get proper validation for any upload of the files. Getting an extension from the file name or file location is very useful as it lets programmers know that they must upload or manipulate files only related to PHP, not any other programming language or file with any other extension. Custom PHP plays a significant role whenever it is a need to get a file extension as these functions to return the required extension of the file using which the required PHP related file can be updated.
Syntax
Every programming language has an extension for a file so do PHP file has which is represented as :
public SplFileInfo::getExtension() : string, filename etc.
where,
- public: It is an access modifier used to demonstrate that the program’s scope is public and can be accessed by anyone.
- SplFileInfo: This contains the file name and contents used to get the information related to the file.
- getExtension(): This is the function in PHP which is used for getting the extension related to PHP.
- string: string is the type of input being fed as part of the getExtension() function.
How to get a file extension in PHP?
There are many ways to get file extension in any of the programming languages as it helps in recognizing the content and the file, which is related to PHP for easy manipulation. Thus, there are many pros and cons related to file extension in PHP and the ways to get the extension in PHP are as follows :
- Some custom functions can be used to return the parameter back as an extension which is supported with most of the PHP versions includes function like substr(), which is extensively used to return a part of the string.
- Another function used for returning extension as part of the string includes strrchr(), which is used to find the last occurrences of one string inside another string or can be said as a nested string.
- PHP pathinfo() function is another simple way used for returning the file information regarding PHP, which is used for getting all the necessary and important information like the path of the file where it exists, followed by a directory name, base file name, an extension of the file.
- When used with SplFileInfo, the get file extension can also return the file extension as expected by considering the string which is needed.
- There are many scenarios where the PHP programmer forgets to put the extension; thus can be said there is no extension present in the program for PHP then, in that case, it will be difficult to handle the file with all the necessary information, thereby making the programmer deal with an empty string as return type will be an empty string.
- There are many ways to determine the extension or to get the file extension then; in that case, there might be a chance to make use of multiple dots within the pathinfo() function it will trace the nested path and then will return the same result as expected without much trouble with the last type of file extension.
- There is a minor difference which exists while using pathinfo() function in PHP with null and no extension being defined while implementing the PHP code due to which when the former one is used for retrieving string, it will return a null which in turn gets arise when some mismatch or default value gets to feed on the other hand when no extension is provided it will behave somewhat similar as an empty string without giving any relevant or required information.
- Thus, these functions are quite useful for the PHP developers to keep the metadata and other file-related operations to get performed appropriately.
- Many works around are made in order to get the file extension in PHP, but the described ways are easy to understand and execute.
Examples of PHP get file extension.
Here are the following examples mention below
Example #1
This program demonstrates the getExtension function using SplFileInfo as its inbuild function, which allows passing any string with the extension to get it supported with PHP codebase as shown in the output.
Code:
<?php
$in_1 = new SplFileInfo('foam.txt');
var_dump($in_1->getExtension());
$in_1 = new SplFileInfo('import_ant.tar.gz');
var_dump($in_1->getExtension());
$in_1 = new SplFileInfo('image_with.jpeg');
var_dump($in_1->getExtension());
?>
Output:
Example #2
This program demonstrates the pathinfo, which tells about the given file’s information and can be used to get the directory name, base name, file name, and extension. It will return the text file as shown in the output.
Code:
<?php
$fil_nm = 'directory_1/anu.txt';
$extnsn = pathinfo($fil_nm, PATHINFO_EXTENSION);
var_dump($extnsn);
?>
Output:
Example #3
This program demonstrates the approach to get the file extension if in a file with multiple periods or dots exists then also pathinfo will work as shown in the output.
Code:
<?php
$fl_nm = 'fldr/exmpl.txt.jpeg.tar.gz';
$extnsn = pathinfo($fl_nm, PATHINFO_EXTENSION);
var_dump($extnsn);
?>
Output:
Example #4
This program demonstrates the custom function which is used for returning substring by calling the function wherever required, as shown in the output.
Code:
<?php
function get_fl_extnsn($fname) {
return substr(strrchr($fname,'.'),1);
}
echo get_fl_extnsn('extension.jpg.txt');
?>
Output:
Example #5
This program demonstrates the output if there is no extension if an empty string with pathinfo() function will return as shown.
Code:
<?php
$fl_pth = 'path/to_1/file_n/';
$extn = pathinfo($fl_pth, PATHINFO_EXTENSION);
var_dump($extn);
?>
Output:
Example #6
This program demonstrates the pathinfo regarding the file name with an extension which is being included and is manipulated as per the requirement as shown in the output. It can support a multi dot file structure for getting the extension.
Code:
<?php
$pth_pp = pathinfo('include/bin.include.php');
echo $pth_pp['extension'], "\n";
echo $pth_pp['filename'], "\n";
?>
Output:
Conclusion
PHP get file extension like other programming languages is used for identifying the type of PHP file that will get uploaded and manipulated by giving some must information like a directory, extension, file name, basename. It is advantageous when some troubleshooting is required from getting out of a stuck situation.
Recommended Articles
This is a guide to PHP get file extension. Here we discuss How to get file extensions in PHP and Examples along with the codes and outputs. You may also look at the following articles to learn more –