как можно сделать таймаут для file_get_contents, например если 2 секунды нету ответа от сервера - вывести echo "error";, но мне нужно чтобы наоборот никаких ошибок не выводило и ничего не писало, просто продолжало работу скрипта
Как понять "динамический файл" ? Все операции с файлами являются атомарными. Да и при чём здесь вообще файлы , если речь идёт о сокетах ? Боишся что во время чтения с сокета ресурс будет изменён другими процессами? Апач синхронизурует всё это дело так что можешь не беспокоиться.
Не то, мне нужно чтобы читало фалй пофигу как, но чтобы содержание передавало в переменную, а динамический файл - index.php?url=test.com&status=bla_bla_bla
Это не файл Мне что-то не понятно что у тебя не получается? Получить URL "test.com" из $_GET и считать инфу через сокет ? Или может тебе вообще пофиг на время таймаута и подойдёт @file_get_contents() ?
@file_get_contents() не подойдёт, если сервер не доступный оно будет ждать 30 секунд (у меня) и потом только загрузит скрипт. а мне нужно чтобы оно ждало 5 сек и загружалось, но при этом не лазя в php.ini и тд и тп =)
AlexALX http://www.php.net/sleep ? PHP: <?php sleep (5); // время в секундах file_get_contents (...); ?>
Код (Text): <?php $ctx = stream_context_create(array( 'http' => array( 'timeout' => 1 ) ) ); file_get_contents("http://example.com/", 0, $ctx); ?> https://php.net/manual/ru/function.file-get-contents.php