Note that is_readable() will return false for streams, eg, php://stdin.
is_readable
(PHP 4, PHP 5)
is_readable — Zegt of een bestandsnaam gelezen kan worden
Beschrijving
bool is_readable
( string $filename
)
Geeft TRUE terug als de bestandsnaam bestaat en uit het bestand gelezen kan worden.
Houdt er rekening mee dat PHP vaak het bestand als dezelfde gebruikers ID opent als de webserver op draait (vaak 'nobody'). Met safe mode limitaties wordt geen rekening gehouden.
Note: The results of this function are cached. See clearstatcache() for more details.
Note: This function will not work on remote files as the file to be examined must be accessible via the servers filesystem.
Zie ook is_writable(), file_exists() en fgets().
is_readable
pgl at yoyo dot org
31-Jul-2009 04:13
31-Jul-2009 04:13
jascha át gmx dót com
07-Nov-2006 03:58
07-Nov-2006 03:58
Safe_mode restrictions ignored means:
cant read by read() so is_readable() = false.
even if safe_mode_include_dir is set and include does works, is_readable() is false to. :(
(php5)
jo at durchholz dot org
30-Jan-2006 06:15
30-Jan-2006 06:15
DrTebi at yahoo dot com is wrong. is_readable() checks whether you can do file_get_contents() or similar calls, no more, no less. If the location given returns a 500 or 403 error, you can still read() that (you'll simply get the error page), but it's still read()able. Using is_readable to check the validity of a URL is simply the wrong function.
DrTebi at yahoo dot com
13-Oct-2005 06:22
13-Oct-2005 06:22
Be careful when using is_readable on symbolic links.
is_readable will return true if the file the symbolic link is pointing to is readable.
The problem is that if the server does NOT allow to follow symbolic links, is_readable will still return true, but e.g. redirecting to the sybolic link will not work. For Apache, make sure that at the server, virtual host configuration level, or inside a directory container you have set
Options +FollowSymLinks
As an example, let's say you have at the document root directory:
index.php -- the script using is_readable
my_linked_page.html -- a regular HTML page
my_link -- a link pointing to my_linked_page.html
Now in index.php:
<?php
if (is_readable('my_link')) {
header('Location: /my_link');
}
?>
If FollowSymLinks is forbidden, this will not work, if allowed, it will.
27-Jul-2005 04:08
Sometimes in situations where file_exists fails (returns false even though the file does exist) stat will work.
php dot 5 dot ce at spamgourmet dot com
12-Jan-2005 03:32
12-Jan-2005 03:32
If you are using ACL, watch out for Bug #30931 (now open without any reaction for about 2 month, alltough an solution exists.)
