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: Tue, 21 May 2013

view this page in

is_readable

(PHP 4, PHP 5)

is_readableDiz se o arquivo pode ser lido

Descrição

bool is_readable ( string $filename )

Diz se o arquivo pode ser lido.

Parâmetros

filename

Caminho do arquivo.

Valor Retornado

Retorna TRUE se o arquivo ou diretório especificado por filename existe e pode ser lido, FALSE do contrário.

Exemplos

Exemplo #1 Exemplo de is_readable()

<?php
$filename 
'teste.txt';
if (
is_readable($filename)) {
    echo 
'O arquivo pode ser lido.';
} else {
    echo 
'O arquivo não pode ser lido.';
}
?>

Notas

Lembre-se que o PHP pode acessar o arquivo como o usuário com o qual o servidor web é executado (geralmente 'nobody'). Limitações de Safe Mode não são levadas em conta antes do PHP 5.1.5.

Nota: Os resultados desta função são cacheados. Veja clearstatcache() para mais detalhes.

Dica

A partir do PHP 5.0.0, esta função também pode ser utilizada com alguns wrappers URL. Veja Supported Protocols and Wrappers para uma lista de quais wrappers são suportados pela família de funções stat().

Nota:

A verificação é feita usando os UID/GID reais ao invés dos efetivos.

Veja Também



is_uploaded_file> <is_link
[edit] Last updated: Tue, 21 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