DZone Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world

Snippets has posted 5883 posts at DZone. View Full User Profile

Get File Extension

  • submit to reddit
function file_extension($filename)
    $path_info = pathinfo($filename);
    return $path_info['extension'];


Snippets Manager replied on Fri, 2010/12/10 - 3:25pm

Can this code be used to find a file extension?

Snippets Manager replied on Thu, 2012/01/19 - 10:29am

What I use: $filename = "my-directory/my-file-name.php" $extension = pathinfo($filename, PATHINFO_EXTENSION); see

Snippets Manager replied on Tue, 2009/09/08 - 12:12pm

visit you will get resukt

Snippets Manager replied on Sat, 2009/09/05 - 9:30am

to albert006, FlashPack and expertseries: - notice a NICE ERROR which will happens when given filename wont have an extension and somewhere in the path to tested file IS a "dot" in dirname. For example "/etc/init.d/README" on Ubuntu will return a NICE "d/README" extension. Thus I advice you to stick to the original file_extension($filename) using pathinfo($filename).

Snippets Manager replied on Mon, 2009/04/13 - 7:51pm

expertseries, sorry, but your answer is why people make fun of PHP developers. The solution stancell posted is much more readable than yours. Why dick around with the details of array pointer semantics when there's a library function that does exactly what you need, and has been tested much more thoroughly?

Snippets Manager replied on Mon, 2012/05/07 - 1:29pm

FlashPack, notice the 'end' function call? It advances array's internal pointer to the last element, and returns its value.

Snippets Manager replied on Fri, 2008/12/05 - 5:41pm

function file_extension($filename) { return end(explode(".", $filename)); } this method won't work if the file name has many dots

Snippets Manager replied on Sat, 2006/11/04 - 5:41am

Not faster, but slower in 0.5 times.

Snippets Manager replied on Mon, 2006/10/16 - 5:57pm

Sorry I didn't use code formatting: function file_extension($filename) { return end(explode(".", $filename)); }

Snippets Manager replied on Mon, 2006/10/16 - 5:57pm

Maybe faster: function file_extension($filename) { return end(explode(".", $filename)); }