Добрый день. Подскажите где проблема? Парсер валют. Пишет ошибку Error open URL PHP: <?php $url = 'http://www.agroprombank.com/xmlinformer.php'; // Получаем XML файл информера $file = @file($url,"r") or die('Error open URL'); $xml = implode($file); // тут начал писать SeazoN $p = xml_parser_create(); xml_parse_into_struct($p,$xml,$vals,$index); xml_parser_free($p); //забираем из массива парсера $code = ''; $tag = ''; $type = ''; foreach($vals as $k=>$v) { if(isset($v['attributes']['CODE'])) $code = $v['attributes']['CODE']; if($v['tag']=='CURRENCYBUY' || $v['tag']=='CURRENCYSELL') $tag = $v['tag']; if(isset($v['attributes']['TYPE'])) $type = $v['attributes']['TYPE']; if(isset($v['attributes']['DATE']) && $type =='official') $courses['official_date'] = $v['attributes']['DATE']; if($v['level']==3 && $v['type']=='complete' && $v['value']>0 ) $courses['official'][$code] = $v['value']; if($type=='commercial') { if(isset($v['attributes']['DATE'])) $courses['commercial_date'] = $v['attributes']['DATE']; if($tag=='CURRENCYBUY' && isset($v['value']) ) $courses['commercial'][$code]['buy'] = $v['value']; if($tag=='CURRENCYSELL' && isset($v['value']) ) $courses['commercial'][$code]['sell'] = $v['value']; } if($type=='internetbank') { if(isset($v['attributes']['DATE'])) $courses['internetbank_date'] = $v['attributes']['DATE']; if($tag=='CURRENCYBUY' && isset($v['value']) ) $courses['internetbank'][$code]['buy'] = $v['value']; if($tag=='CURRENCYSELL' && isset($v['value']) ) $courses['internetbank'][$code]['sell'] = $v['value']; } } // тут он <censored> ;) /**** Далее показан пример работы с массивом $courses. Непосредственно его вывод. код нагло выдран из примера A.Shtyrbu :) */ ?> <html> <head><title>PHP-Пример использования XML информера курсов валют (XML parser функций).</title></head> <body> <?php if(is_array($courses['official'])){ ?> <table border="1"> <caption>Официальные курсы валют на <?php echo $courses['official_date']?></caption> <tr> <th>Валюта</th> <th>Курс</th> </tr> <?php foreach($courses['official'] as $code=>$course) echo "<tr><td>".$code."</td><td>".$course."</td></tr>"; ?> </table> <?php } if(is_array($courses['commercial'])){?> <table border="1"> <caption>Комерческие курсы валют на <?php echo $courses['commercial_date']?></caption> <tr> <th>Валюта</th> <th>Покупка</th> <th>Продажа</th> </tr> <?php foreach($courses['commercial'] as $code=>$course) echo "<tr><td>".$code."</td><td>".$course['buy']."</td><td>".$course['sell']."</td></tr>"; ?> </table> <?php } if(is_array($courses['internetbank'])) { ?> <table border="1"> <caption>Курсы валют системы Интернет-Банк на <?php echo $courses['internetbank_date']?></caption> <tr> <th>Валюта</th> <th>Покупка</th> <th>Продажа</th> </tr> <?php foreach($courses['internetbank'] as $code=>$course) echo "<tr><td>".$code."</td><td>".$course['buy']."</td><td>".$course['sell']."</td></tr>"; ?>
@darttimon, а вы пробовали заглянуть в описание функции file ? А если точнее, то обратите внимание на второй параметр, передаваемый в функцию. --- Добавлено --- P.S. Как по мне, то вообще логичней было бы использовать функцию simplexml_load_file , чем file