downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | conferences | my php.net

search for in the

is_uploaded_file> <is_link
[edit] Last updated: Fri, 17 May 2013

view this page in

is_readable

(PHP 4, PHP 5)

is_readablePrüft, ob eine Datei existiert und lesbar ist

Beschreibung

bool is_readable ( string $filename )

Gibt TRUE zurück, wenn die Datei existiert und lesbar ist.

Parameter-Liste

filename

Pfad zur Datei.

Rückgabewerte

Gibt TRUE zurück, wenn die Datei oder das Verzeichnis (angegeben durch filename) existiert und lesbar ist, sonst FALSE.

Beispiele

Beispiel #1 is_readable()-Beispiel

<?php
$filename 
'test.txt';
if (
is_readable($filename)) {
    echo 
'Die Datei ist lesbar';
} else {
    echo 
'Die Datei ist nicht lesbar';
}
?>

Fehler/Exceptions

Im Fehlerfall wird eine E_WARNING ausgegeben.

Anmerkungen

Bedenken Sie, dass PHP mit der Benutzer-ID auf die Datei zugreift, unter der der Webserver läuft (oftmals ist dies 'nobody'). Beschränkungen durch safe_mode werden vor PHP 5.1.5 nicht berücksichtigt.

Hinweis: Die Ergebnisse dieser Funktion werden gecached. Weitere Details erhalten Sie bei clearstatcache().

Tipp

Seit PHP 5.0.0 kann diese Funktion mit einigen URL-Wrappern benutzt werden. Schauen Sie in der Liste unter Unterstützte Protokolle and Wrappers nach, welcher Wrapper die Funktionalität von stat() unterstützt.

Hinweis:

Die Prüfung wird mit der echten UID/GID anstelle der effektiven ID ausgeführt.

Siehe auch

  • is_writable() - Prüft, ob in eine Datei geschrieben werden kann
  • file_exists() - Prüft, ob eine Datei oder ein Verzeichnis existiert
  • fgets() - Liest eine Zeile von der Position des Dateizeigers



is_uploaded_file> <is_link
[edit] Last updated: Fri, 17 May 2013
 
add a note add a note User Contributed Notes is_readable - [5 notes]
up
2
jo at durchholz dot org
7 years ago
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.
up
0
pgl at yoyo dot org
3 years ago
Note that is_readable() will return false for streams, eg, php://stdin.
up
0
DrTebi at yahoo dot com
7 years ago
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.
up
0
Anonymous
7 years ago
Sometimes in situations where file_exists fails (returns false even though the file does exist) stat will work.
up
-1
jascha át gmx dót com
6 years ago
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)

 
show source | credits | sitemap | contact | advertising | mirror sites