Ограничить время выполнения функции

Статус
В этой теме нельзя размещать новые ответы.

phillip

Полезный
Регистрация
4 Сен 2007
Сообщения
411
Реакции
15
Как ограничить во времени именно одну функцию? Мне нужно сделать $xml = simplexml_load_file($rss_link);
И если в течении 20 секунд не получилось загрузить $rss_link, то сделать
echo "Проблема с загрузкой"; а если получилось загрузить, то echo "Все окей";
Если использовать просто set_time_limit то по истечении срока будет ведь просто завершение работы скрипта. Типа break; А мне надо чтобы работа продолжилась, но были выполнены другие действия
 
можно через curl вытащить страницу с сервера (в curl есть свой таймаут), затем спокойно отпарсить.
 
curl не прилагается на хосте. Его в рассчет не берем, к сожалению :confused:
 
phillip, можно попробывать залить на хост модуль курла и подцепить его ф-цией dl()
Конечно, если сервер не отключил эту функцию.
 
неохото мне с curl работать. Потом придется скрипт переносить- и опять где-нибудь да не получится curl включить, как обычно( Да и переделывать много. Парсер то придется переписывать заново. Неужели без курла нет способа? :confused:
 
Спасибо. а с использованием simplexml_load_file все-таки никак не сделать, да?( Просто будь то сокеты или курл- придется парсер переписывать. А тут у меня всего то - сделал лоад рсски, и затем обращаюсь к каждому элементу и в массив записываю и все. Просто как в лифте три буквы написать :nezn:

Код:
foreach    ($xml->channel[0]->item as $item)
	{
		if($item) {
			$rss[$i]['title'] = $item->title;
			$rss[$i]['description'] = $item->description;
			$rss[$i]['link'] = $item->link;
			$i++;
		}else{
			return false;
		}
	}
 
можно сначала собрать в строку с помощью fsockopen, а потом ф-цией simplexml_load_string занести в массив, т.е. тоже самое, что и simplexml_load_file
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху