Размер файла: 2.42Kb
<?php
/*
Клиентская библиотека для работы с wappc.ru
Выдает результат в Win-1251 кодировке. При выводе на экран необходимо перекодировать в UTF-8
Только для программистов.
Техническая поддержка для начинающих во время тестирования не осуществляется
Отображение ссылок print GetFeed("слово поиска",количество результатов)
Автор:Denvas
*/
function GetFeed($search,$num=1){
global $wappc_nametemp,$wappc_aff;
$content="";
$nametemp=$wappc_nametemp.md5($search).".txt";
if(file_exists($nametemp)){
$content=file_get_contents($nametemp);
$oldtime=(int)substr($content,0,strpos($content,"\n"));
} else $oldtime=0;
if(time()-$oldtime>5*60){//кешировать на 5 минут (чаще запрашивать нельзя, сервер будет блокировать запросы)
$url="http://wap.wappc.ru/export.php?user=".$wappc_aff."&i=0&search=".$search."&rnd=".mt_rand(0,1000);
/*
//забор курлом
$ch = curl_init ($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt ($ch, CURLOPT_TIMEOUT, 5);
$html=curl_exec($ch);
curl_close($ch);
*/
//забор средствами php
$html=@file_get_contents($url);
//кэширование
if($html)$content=$html;
$fd=fopen($nametemp,"wb");
if($fd){fwrite($fd,time()."\n".$content);fclose($fd);};
};//if
$data=ParseResult($content);
$ndata=count($data);
if($ndata>0){
if($num>1)
$rand_keys = array_rand($data, $num);//возвращает массив
else
$rand_keys = array(array_rand($data, $num));//возвращает число
$code="";
for($i=0;$i<$num;$i++){
$slink=$data[$rand_keys[$i]];
$code.="<a href='".$slink[4].mt_rand(0,1000)."'>".$slink[2]."</a><br/>";
};
return $code;
};
return "";//нет данных
};//function
function ParseResult($content,$badwords=""){
if(empty($content))return array();
$data=array();
$lines=explode("\n",$content);
for($j=1;$j<count($lines);$j++){
$line=trim($lines[$j]);
$elem=explode("|",$line);
if(count($elem)<3)continue;
$data[]=$elem;
};
return $data;
};//function
?>