Sergo_Sev
Творец
- Регистрация
- 14 Июн 2008
- Сообщения
- 578
- Реакции
- 193
- Автор темы
- #1
Сегодня обнаружил такую пролему - сайт лежит, хотя все в порядке, оказалось, что в одном из файлов идет открытие удаленного файла через fopen, а тот сайт в свою очередь лежит
Как сделать, что бы при запросе файла index.php, генерирующего главную страницу сайта она спокойно открывалась и без задержек, даже если если запрашиваемый удаленный адрес не доступен
Вот такой файл подключен в index.php, а адрес http:// seobudget.ru/downloads/updates.xml полностью недоступен
Как сделать, что бы при запросе файла index.php, генерирующего главную страницу сайта она спокойно открывалась и без задержек, даже если если запрашиваемый удаленный адрес не доступен
Вот такой файл подключен в index.php, а адрес http:// seobudget.ru/downloads/updates.xml полностью недоступен
PHP:
$updates_block = dle_cache( "updates_block", $config['skin'] );
if( ! $updates_block ) {
$fd = @fopen("http://seobudget.ru/downloads/updates.xml", "r");
if( $fd ) {
$text="";
while (!@feof ($fd)) $text .= fgets($fd, 1024);
@fclose ($fd);
$pattern = "#timestamp=\"(\d+)\">#i";
@preg_match_all($pattern, $text, $out);
$info = array_chunk( $out[1], 3);
// Обновления тИЦ Яндекса
$cy_up_new = date( 'd.m.Y', $info[0][0]);
$cy_up_mid = date( 'd.m.Y', $info[0][1]);
$cy_up_old = date( 'd.m.Y', $info[0][2]);
// Обновления поисковой базы Яндекса
$cy_base_new = date( 'd.m.Y', $info[1][0]);
$cy_base_mid = date( 'd.m.Y', $info[1][1]);
$cy_base_old = date( 'd.m.Y', $info[1][2]);
// Обновление Яндекс.Каталога
$yaca_up_new = date( 'd.m.Y', $info[2][0]);
$yaca_up_mid = date( 'd.m.Y', $info[2][1]);
$yaca_up_old = date( 'd.m.Y', $info[2][2]);
$tpl->load_template('/pr-cy/updates_block.tpl');
$tpl->set('{cy_new_up}', $cy_up_new);
$tpl->set('{cy_mid_up}', $cy_up_mid);
$tpl->set('{cy_old_up}', $cy_up_old);
$tpl->set('{cy_base_new}', $cy_base_new);
$tpl->set('{cy_base_mid}', $cy_base_mid);
$tpl->set('{cy_base_old}', $cy_base_old);
$tpl->set('{yaca_up_new}', $yaca_up_new);
$tpl->set('{aca_up_mid}', $yaca_up_mid);
$tpl->set('{yaca_up_old}', $yaca_up_old);
$tpl->set( '[if-have-info]', "" );
$tpl->set( '[/if-have-info]', "" );
$tpl->compile('updates_block');
$tpl->clear();
$updates_block = $tpl->result['updates_block'];
create_cache( "updates_block", $updates_block, $config['skin'] );
}
else {
$tpl->load_template('/pr-cy/updates_block.tpl');
$tpl->set_block( "'\\[if-have-info\\](.*?)\\[/if-have-info\\]'si", "Данные временно не доступны." );
$tpl->compile('updates_block');
$tpl->clear();
$updates_block = $tpl->result['updates_block'];
}
}