PHP is_readable: Check File Accessibility

php is_readable function

The PHP is_readable helps you validate file readability before any operation like read or include files.

What Is PHP is_readable?

The is_readable() function checks if a given file or directory exists and whether it can be read. It is a built-in PHP function that returns a boolean value—true if the file is readable and false otherwise.

Here is its syntax:

is_readable($filename)
  • Parameter: $filename is the file or directory path you want to check.
  • Return Value: The function returns true if the specified file or directory exists and is readable; otherwise, it returns false.

Here is a quick example:

$file = 'example.txt';

if (is_readable($file)) {
    echo "File is readable.";
} else {
    echo "File cannot be read.";
}

The example above checks if example.txt can be read with is_readable. This helps make sure your program won’t crash with unexpected errors.

The Difference Between is_readable and is_file

You may like to check about the below:

  • Is this a real file?
  • Can I open this file and read it?

PHP gives you different functions to check this. Two common ones are is_file() and is_readable(). Let’s look at what they mean.

The is_file function checks if something is a file. It returns true if the path points to a real file (not a folder).

But, is_readable checks if the file or folder can be read. It returns true if your PHP script has permission to open and read it.

Here is a table that shows you the key differences:

Featureis_file()is_readable()
PurposeChecks if it is a fileChecks if it can be read
Works on folders?NoYes
Checks permissions?NoYes
Example UseIs this path a file?Can I open and read this file?

You can use both functions together to make sure:

  • The file exists
  • It’s really a file
  • It can be read

Here is an example:

if (is_file("example.txt") && is_readable("example.txt")) {
    echo "This is a readable file.";
}

Examples of PHP is_readable

Validate a File Before read it:

$configFile = 'config.json';

if (is_readable($configFile)) {
    $content = file_get_contents($configFile);
    echo "Configuration loaded successfully.";
} else {
    echo "Cannot access the configuration file.";
}

This makes sure your script doesn’t crash if the file is inaccessible or doesn’t exist.

Ensure Dynamic Includes Work:

$fileToInclude = 'plugin.php';

if (is_readable($fileToInclude)) {
    include $fileToInclude;
} else {
    echo "Plugin file not found.";
}

When your application dynamically includes files, is_readable verifies the file’s existence and readability.

Handle Directory Readability:

$directory = 'uploads';

if (is_readable($directory)) {
    echo "Directory is accessible.";
} else {
    echo "Directory cannot be read.";
}

You have to know that the function is not limited to files—it also works with directories.

Wrapping It Up

In this article, you learned what the is_readable() function does and how it helps you check if files or directories can be read in PHP. You also understood the difference between is_readable() and is_file().

Here is a quick recap:

  • is_readable() checks if a file or folder can be opened and read by your script.
  • It returns true if the path exists and is readable and false if it isn’t.
  • is_file() checks if the path is a real file (not a folder).
  • Use both functions together to be extra safe when you write a code to read or include PHP files.
  • is_readable() works with both files and directories.
  • You saw examples like how to check for config files. That includes PHP plugins and directories that are readable.

FAQs

What does `php is_readable` do?

The is_readable() checks if a file or directory exists and PHP can read it. It returns true when both conditions are met, otherwise it returns false and logs a warning.

Does `is_readable` clear its results cache automatically?

No. PHP caches file status. If you change permissions or file location, call clearstatcache() before is_readable() to get fresh results

Does `is_readable` work on URLs or streams?

No. It doesn't work reliably with URLs or non‑filesystem streams like php://stdin. Stick to local files or directories

Should I use `file_exists()` before `is_readable()`?

No. is_readable() already checks existence. Use is_readable() alone. For files only, combine it with is_file().

How does `is_readable` differ from `is_writable`?

  • is_readable() checks read access.
  • is_writable() checks write access.
They operate independently. Use the one matching your need

Similar Reads

PHP OR Operator: Using || and or in Conditional Statements

The PHP OR operator has two renditions: either || or or. Both of these are useful logical operators when you want to introduce…

PHP $_COOKIE: Securely Store and Manage Data

Ever notice how some websites just seem to "know" you? That’s thanks to cookies! When you’re working with PHP, $_COOKIE becomes a…

PHP Class Destructor: How It Works with Examples

A destructor in a PHP class runs when an object is no longer needed. It frees resources and cleans up…

PHP $_GET: How to Create Dynamic URLs in PHP?

The PHP $_GET— is a tiny part, but strong in the data processing using the URL. There is a site that…

PHP MySQL LIMIT Data: How to Optimize PHP Queries?

There are situations where you only need a specific number of rows returned. This is where the "LIMIT" clause in…

Polymorphism in PHP: How It Works with Examples

PHP 5 added support for classes and interfaces. This made object-oriented code possible with one feature being polymorphism. That means…

PHP Type Casting: How to Convert Variables in PHP

Type casting in PHP refers to the process of converting a variable from one data type to another. This is…

PHP IF Statement: A Guide to Conditional Logic

The IF statement in PHP helps to see if a condition is true or not. If it is true, it…

PHP is_file Function: Check if a File Exists

If you are working with PHP and need a way to confirm if something is indeed a file, the is_file function will…

PHP Global Variables & Superglobals: A Complete Guide

Variables in PHP are general elements used for data storage and other manipulations. Global variables belong to a particular category…

Previous Article

PHP file_exists: Check File and Directory Existence

Next Article

PHP is_file Function: Check if a File Exists

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.