C
cvv
Приветствую всех. Имеет проблема со скриптом, которую я не могу решить.
Имеется скрипт, который обращается к определеному сайту через fopen и загружает от туда инфу. Но надо переделать этот скрипт чтобы он обращался через Curl.
Вот сам скрипт:
Как я понял, за соеденение отвечает этот код:
Пробовал заменять его на все возможные варианты, например этот:
но все время появлялась ошибка.
Кто знает, помогите пожалуйста, выяснить в чем заключается проблема и как надо напистаь скрипт чтобы он заработал.
Зарание спасибо.
Имеется скрипт, который обращается к определеному сайту через fopen и загружает от туда инфу. Но надо переделать этот скрипт чтобы он обращался через Curl.
Вот сам скрипт:
Код:
<?php
define('PATH','cache/');
function getTodayFileName(){
return PATH.'curs_'.date('dmy').'.dat';
}
function getYesterdayFileName(){
return PATH.'curs_'.date("dmy",mktime(0,0,0,date("m") ,date("d")-1,date("Y"))).'.dat';
}
function getValKurs(&$val,$date=null){
if($date==null) $date = date("d/m/Y");
$link = "http://cbr.ru/scripts/XML_daily.asp?date_req=$date";
$fd = fopen($link, "r");
$content="";
if($fd){
while(!feof ($fd)) $content .= fgets($fd, 4096);
} else return;
fclose ($fd);
$pattern = "#<Valute ID=\"([^\"]+)[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>([^<]+)#i";
preg_match_all($pattern, $content, $out, PREG_SET_ORDER);
$val['dollar'] = "";
$val['euro'] = "";
foreach($out as $cur){
if($cur[2] == 840) $val['dollar'] = doubleVal(str_replace(",",".",$cur[4]));
if($cur[2] == 978) $val['euro'] = doubleVal(str_replace(",",".",$cur[4]));
}
}
if(!file_exists(getTodayFileName())){
$val_today = array();
$val_yesterday = array();
getValKurs($val_today);
getValKurs($val_yesterday,date("d/m/Y",mktime(0,0,0,date("m") ,date("d")-1,date("Y"))));
$dollar_up = ($val_today['dollar']-$val_yesterday['dollar'] > 0 ? true : false);
$euro_up = ($val_today['euro']-$val_yesterday['euro'] > 0 ? true : false);
tempnam('cache',getTodayFileName());
$fp = fopen(getTodayFileName(), "w");
fwrite($fp,'<span style="color:#F26D00;font-size:120%"><b>$</b></span> USD ЦБ <b>'.$val_today['dollar'].'</b> '.($dollar_up ? '' : '').'<br><span style="color:#F26D00;font-size:120%"><b>?</b></span> EUR ЦБ <b>'.$val_today['euro'].'</b> '.($euro_up ? '' : '').'');
fclose($fp);
if(file_exists(getYesterdayFileName())) unlink(getYesterdayFileName());
}
readfile(getTodayFileName());
?>
Как я понял, за соеденение отвечает этот код:
Код:
$fd = fopen($link, "r")
Код:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $link);
$fd = curl_exec($ch);
curl_close($ch);
Кто знает, помогите пожалуйста, выяснить в чем заключается проблема и как надо напистаь скрипт чтобы он заработал.
Зарание спасибо.