PHP file_exists: Check File and Directory Existence

Whether you are just trying to keep your app from crashing or making sure your users’ uploads don’t accidentally overwrite each other’s files, php file_exists is like a simple yet reliable tool in your PHP toolkit.

In this tutorial, you will learn what file_exists is and how it works. Let’s get started.

What is php file_exists?

php file_exists is a built-in function. It takes a file path as input and checks if that file or directory is sitting there on your server, waiting to be used. If it’s there, file_exists returns true. If it’s not, you get false. This might seem small, but it can prevent a ton of problems.

Whenever you’re handling user uploads, dynamic file includes, or any process where files might pop in and out file_exists can be fit for this task.

Here is its syntax:

file_exists($path);

Just put in the file path you want to check. If the file or directory is there, file_exists will give you true. If not, it’ll return false. Here’s a quick example:

if (file_exists("example.txt")) {
    echo "The file exists!";
} else {
    echo "File not found.";
}

The file_exists doesn’t actually open the file. It just checks the file system to see if the file or directory is there where you specified. But here’s something to keep in mind: file_exists is case-sensitive on Linux but case-insensitive on Windows. So if you’re working across different operating systems, double-check those file paths to prevent any issues.

Another thing else, file_exists works for both files and directories. But, if you want to make sure you’re dealing with a file (not a directory), use file_exists with is_file or is_dir to be extra sure.

In the following section, you will see more examples. Let’s move on.

Examples of PHP file_exists

In the example, we are going to prevent duplicate uploads:

$uploadDir = "uploads/";
$filename = $_FILES["userfile"]["name"];
$filepath = $uploadDir . $filename;

if (file_exists($filepath)) {
    $newFileName = time() . "_" . $filename;
    $newFilePath = $uploadDir . $newFileName;
    move_uploaded_file($_FILES["userfile"]["tmp_name"], $newFilePath);
    echo "File already exists, so it was saved as $newFileName.";
} else {
    move_uploaded_file($_FILES["userfile"]["tmp_name"], $filepath);
    echo "File uploaded successfully!";
}

file_exists checks if the file name is already taken. If it is, the code adds a timestamp to create a unique name and saves it as a new file. So, no overwrites.

Here, we should check first if the file exists before including it in another PHP file:

$filename = "config.php";

if (file_exists($filename)) {
    include $filename;
} else {
    echo "Required configuration file is missing!";
}

With this code, you are safe from those annoying “file not found” errors. You’ll know right away if config.php is missing.

Let’s summarize it.

Wrapping Up

PHP file_exists is a simple way to check if a file or directory exists. Here’s a quick recap:

  • Definition: php file_exists checks if a file or directory is present on the server.
  • Syntax: Just use file_exists($path);, where $path is the file or directory you want to check.
  • How It Works: It verifies existence without actually opening the file.
Previous Article

PHP is_dir Function: Check if a Directory Exists

Next Article

PHP is_readable: Check File Accessibility

Write a Comment

Leave a Comment

Your email address will not be published. Required fields are marked *

Subscribe to Get Updates

Get the latest updates on Coding, Database, and Algorithms straight to your inbox.
No spam. Unsubscribe anytime.