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:
$filenameis the file or directory path you want to check. - Return Value: The function returns
trueif 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
You use PHP every day if you build websites, but most people do not know where it came from or…
PHP foreach loop came to help work with array data in a simple way. Arrays and objects grew more common…
The PHP associative array is a structured collection wherein data elements are organized into lists or groups. Each element is…
File Handling in PHP is an important tool especially when you need to manage files such as reading, writing, or…
A PHP script can break the page or allow code injection if it outputs user input directly into HTML. The…
Developers use the array_count_values function in PHP to find how many times each value appears in an array. What is…
In this tutorial, you will learn how to install PHP on your Operating system such as Ubuntu, Windows, or macOS.…
PHP-type hinting is something that keeps your code in check and helps your functions receive just the right types of…
At times, you may need to check if a row exists to avoid duplication when inserting or to prevent issues…
JSON is used in most of your web applications for dealing with data, and so, in a way, PHP JSON…