The PHP is_readable helps you validate file readability before any operation like read or include files.
Table of Content
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 returnsfalse
.
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:
Feature | is_file() | is_readable() |
---|---|---|
Purpose | Checks if it is a file | Checks if it can be read |
Works on folders? | No | Yes |
Checks permissions? | No | Yes |
Example Use | Is 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?
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?
clearstatcache()
before is_readable()
to get fresh resultsDoes `is_readable` work on URLs or streams?
php://stdin
. Stick to local files or directoriesShould I use `file_exists()` before `is_readable()`?
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.
Similar Reads
The PHP OR operator has two renditions: either || or or. Both of these are useful logical operators when you want to introduce…
Ever notice how some websites just seem to "know" you? That’s thanks to cookies! When you’re working with PHP, $_COOKIE becomes a…
A destructor in a PHP class runs when an object is no longer needed. It frees resources and cleans up…
The PHP $_GET— is a tiny part, but strong in the data processing using the URL. There is a site that…
There are situations where you only need a specific number of rows returned. This is where the "LIMIT" clause in…
PHP 5 added support for classes and interfaces. This made object-oriented code possible with one feature being polymorphism. That means…
Type casting in PHP refers to the process of converting a variable from one data type to another. This is…
The IF statement in PHP helps to see if a condition is true or not. If it is true, it…
If you are working with PHP and need a way to confirm if something is indeed a file, the is_file function will…
Variables in PHP are general elements used for data storage and other manipulations. Global variables belong to a particular category…