PHP get file extensions (with code example)

Photo from Unsplash

You need to call the pathinfo() function to get the file extension in PHP.

Here’s an example:

$file = "Picture.png";

$ext = pathinfo($file, PATHINFO_EXTENSION);

echo "The file extension is $ext";

The output will be:

The file extension is png


The pathinfo() is a built-in PHP function used to get information from a file path.

    string $file,
    int $flags = PATHINFO_ALL
): array|string

The function returns either an array or a string depending on the parameter you passed into it.

The two parameters are:

  1. The $file string that you want to parse
  2. The $flags to specify what you want to get from the $file

There are four valid $flags values:


If you don’t pass a $flags value, then PHP will get all four information as an array of strings.

This is why to get a file extension, you pass the string of the file path and the PATHINFO_EXTENSION to the function:

$ext = pathinfo($file, PATHINFO_EXTENSION);

When you upload a file using an HTML <input> tag, you need to get the file name parameter from the $_FILES array.

Here’s an example code to get the extension from an HTML form:

    $file = $_FILES["the_file"];
    $filename = $file["name"];

    $ext = pathinfo($filename, PATHINFO_EXTENSION);
    echo "<h1 style='color:red;'>The file extension is $ext</h1>";

<h1>PHP Get file extension</h1>
    <input type="file" name="the_file">
    <input type="submit" name="submit" value="Submit">

When you put a file into the <input> type and hit submit, the file extension will be printed on the page.

Here’s an example of the PHP code in action:

And now you’ve learned how to get the file extension in PHP. Nice work! 👍

Take your skills to the next level ⚡️

I'm sending out an occasional email with the latest tutorials on programming, web development, and statistics. Drop your email in the box below and I'll send new stuff straight into your inbox!

No spam. Unsubscribe anytime.