Как указать максимальное время на открытие файла?

Programist

Новичок
Как указать максимальное время на открытие файла?

Мне нужно загрузить удаленный файл с помощью функции file в массив, но удаленный сервер долго не отвечает. Из-за этого мой скрипт виснет и не может продолжить работу. Возможно ли каким-то способом ограничить время на загрузку файла, чтоб скажем если за 5 секунд файл не загрузился, скрипт мог спокойно работать дальше.
Да и ещё, я заметил время на запрос к файлу не включается при подсчёте максимального времени работы скрипта. Это действительно так?
 

vladax

Новичок
Programist А так? :)
PHP:
function getmicrotime() {
   list($usec, $sec)=explode(" ",microtime());
   return ((float)$usec + (float)$sec);
}

// Стартуем счетчик
$time_start = getmicrotime();


$url2open = "http://www.yandex.ru";
$contents = "";

$handle = fopen($url2open, "r");
do {
    $data = fread($handle, 8192);
    if (strlen($data) == 0)break;
    $contents .= $data;
    $time = getmicrotime() - $time_start;
    if ($time > 5) break;

} while(true);

echo $contents;
 
Сверху