|
is_readable
Tells whether the filename is readable
(PHP 4, PHP 5)
Return Values
Returns ExamplesExample 656. is_readable() example<?php NotesKeep in mind that PHP may be accessing the file as the user id that the web server runs as (often 'nobody'). Safe mode limitations are not taken into account before PHP 5.1.5.
Note:
The results of this function are cached. See clearstatcache() for more details.
Tip:
As of PHP 5.0.0 this function can also be used with some URL wrappers. Refer to Appendix O, List of Supported Protocols/Wrappers for a listing of which wrappers support stat() family of functionality.
Note:
The check is done using the real UID/GID instead of the effective one.
See Also
Related Examples ( Source code ) » is_readable Examples ( Source code ) » Is the file readable Examples ( Source code ) » Checking the Mode of a File Code Examples / Notes » is_readabletakeda
this function also can be used if you want check permissions for directory.
27-jul-2005 03:08
Sometimes in situations where file_exists fails (returns false even though the file does exist) stat will work.
jascha át gmx dót com
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) php dot 5 dot ce
If you are using ACL, watch out for Bug #30931 (now open without any reaction for about 2 month, alltough an solution exists.)
jo
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
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. |
Change Languagebasename chgrp chmod chown clearstatcache copy delete dirname disk_free_space disk_total_space diskfreespace fclose feof fflush fgetc fgetcsv fgets fgetss file_exists file_get_contents file_put_contents file fileatime filectime filegroup fileinode filemtime fileowner fileperms filesize filetype flock fnmatch fopen fpassthru fputcsv fputs fread fscanf fseek fstat ftell ftruncate fwrite glob is_dir is_executable is_file is_link is_readable is_uploaded_file is_writable is_writeable lchgrp lchown link linkinfo lstat mkdir move_uploaded_file parse_ini_file pathinfo pclose popen readfile readlink realpath rename rewind rmdir set_file_buffer stat symlink tempnam tmpfile touch umask unlink |