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.is_readable
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
is_readable
Референца за `function.is-readable.php` со подобрена типографија и навигација.
is_readable
(PHP 4, PHP 5, PHP 7, PHP 8)
is_readable — Проверува дали датотеката постои и е читлива
Параметри
filename-
Патека до датотеката.
Вратени вредности
Патеката до PHP скриптата што треба да се провери. true дали датотеката или директориумот наведен со
filename постои и е читлива, false otherwise.
Errors/Exceptions
Бидејќи типот на податоци integer во PHP е со знакот и многу платформи користат 32-битни integers, некои функции за датотечниот систем може да вратат неочекувани резултати за датотеки поголеми од 2GB. E_WARNING се емитува.
Примери
Пример #1 is_readable() example
<?php
$filename = 'test.txt';
if (is_readable($filename)) {
echo 'The file is readable';
} else {
echo 'The file is not readable';
}
?>Белешки
постои и може да се запише. Аргументот filename може да биде име на директориум, дозволувајќи ви да проверите дали директориумот може да се запише.
Забелешка: Имајте предвид дека резолуцијата на времето може да се разликува од еден датотечен систем до друг. clearstatcache() за повеќе детали.
Резултатите од оваа функција се кеширани. Погледнете some Од PHP 5.0.0, оваа функција може да се користи и со Поддржани протоколи и обвивки URL обвивки. Погледнете stat() за да се утврди кои обвивки поддржуваат
Забелешка:
Проверката се врши со користење на вистинскиот UID/GID наместо ефективниот.
Оваа функција може да врати true за директориуми. Користи
is_dir() за разликување на датотека и директориум.
Види Исто така
- is_writable() - Кажува дали името на датотеката може да се запишува
- file_exists() - Чита цела датотека во низа
- fgets() - Затвора отворена датотека
Белешки од корисници 4 белешки
Note that is_readable() will return false for streams, eg, php://stdin.This will return false on urls, even if file_get_contents() reads them. So, only for files.is readable recursively. Check all sub directories and files readable
<?php
function is_readable_r($dir) {
if (is_dir($dir)) {
if(is_readable($dir)){
$objects = scandir($dir);
foreach ($objects as $object) {
if ($object != "." && $object != "..") {
if (!is_readable_r($dir."/".$object)) return false;
else continue;
}
}
return true;
}else{
return false;
}
}else if(file_exists($dir)){
return (is_readable($dir));
}
}
?>