Room13
Новичок
Считывание результатов запроса, вывод в таблицу. как закончить и оптимизировать?
этим кодом я вычислил PlayerID, далее задача:
выполнить запрос подставив PlayerID к ссылке:
http://www.neverlands.ru/modules/api/info.cgi?playerid=[playerID]&info=1 - Определение основных параметров персонажа, его статуса и местоположения
Форма ответа:
3|[Никнейм]|[Уровень]|[Склонность]|[Код клана]|[Значок]|[Название клана]|[Статус]|[Пол]|[Признак блока]|[Признак тюрьмы]|[Молчанка в чате (остаток сек)]|[Форумная молчанка (остаток сек)]|[Онлайн/оффлайн]|[Местоположение]|[Номер боя]
Считаем ответ страницы и вводим в таблицу весь список в виде: номер, склонность, значок, никнейм, уровень, статус, Онлайн/оффлайн, местоположение. + оптимизировать код, ибо никак не может дойти как это может сделать
PHP:
<?php
echo("<table width='360' align=center valign=top border=0 bgcolor=#efefef style='text-align: center;'>");
echo("<tr height='40'>");
echo("<td width='50'bgcolor=#f8f8f8><p align=center>Номер</p></td>");
echo("<td colspan=3 width='200'bgcolor=#f8f8f8><p align=center>Ник</p></td>");
echo("<td width='60'bgcolor=#f8f8f8><p align=center>Статус</p></td>");
echo("<td width='60'bgcolor=#f8f8f8><p align=center>Местоположение</p></td>");
echo("</tr>");
// функция разделения URL
function _parse_url ($path) {
preg_match ("~(.+)?:\/\/([ˆ\/]+)([ˆ\?]*)[\?]?([ˆ\/]*)~", $path, $arr);
if ($arr[0]==''){ return array (path =>$path); }
return array (scheme => $arr[1], host => $arr[2], path => $arr[3], query => $arr[4]);
}
// функция вывода
function output_r ($path){
$arr = _parse_url($path);
$host = $arr[host];
$page = $arr[path];
$query = $arr[query];
if ($query!=''){$page.='?'.$query;}
if ($page==''){$page='/';}
$fp = @fsockopen ($host, 80, &$errno, &$errstr, 30);
if (!$fp){ return implode ('', @file ($path)); }
$request = "GET $page HTTP/1.0\r\n";
$request .= "Host: $host\r\n";
$request .= "Accept: text/html, application/xml;q=0.9, */*;q=0.1\r\n";
$request .= "Accept-Charset: windows-1251, utf-8;q=0.6, *;q=0.1\r\n";
$request .= "Accept-Encoding: deflate, gzip, identity, *;q=0\r\n";
$request .= "Accept-Language: ru\r\n";
$request .= "Connection: close\r\n";
$request .= "Keep-Alive: 300\r\n";
$request .= "Expires: Thu, 01 Jan 1970 00:00:01 GMT\r\n";
$request .= "Cache-Control: no-store, no-cache, must-revalidate\r\n";
$request .= "Pragma: no-cache\r\n";
$request .= "Cookie: income=1\r\n";
$request .= "Referer: [url]http://[/url]$host/\r\n";
$request .= "User-Agent: Mozilla/5.0 (compatible; MSIE 6.0; Windows 98)\r\n";
$request .= "\r\n";
@fwrite ($fp,$request);
while ($line = @fgets ($fp, 1024)){
if ( preg_match ("~ˆ[\r]?\n$~i",$line)){$fest='yes';}
elseif ($fest=='yes'){$out .= $line;}
}
return $out;
}
// адрес странички, которую считываем
$page[1] = 'http://www.neverlands.ru/modules/api/getid.cgi?Spaikovich';
$page[2] = 'http://www.neverlands.ru/modules/api/getid.cgi?Kostya1986';
$page[3] = 'http://www.neverlands.ru/modules/api/getid.cgi?ForLegal';
$page[4] = 'http://www.neverlands.ru/modules/api/getid.cgi?Silentium_';
$page[5] = 'http://www.neverlands.ru/modules/api/getid.cgi?cr@zy_s@t@n@';
$page[6] = 'http://www.neverlands.ru/modules/api/getid.cgi?Марамар';
$page[7] = 'http://www.neverlands.ru/modules/api/getid.cgi?***Independent***';
$page[8] = 'http://www.neverlands.ru/modules/api/getid.cgi?~@Lestat@~';
$page[9] = 'http://www.neverlands.ru/modules/api/getid.cgi?Жирный_Рыб';
$page[10] = 'http://www.neverlands.ru/modules/api/getid.cgi?Obi-Wan';
$page[11] = 'http://www.neverlands.ru/modules/api/getid.cgi?Забытый%20Временем';
$page[12] = 'http://www.neverlands.ru/modules/api/getid.cgi?Fr(a)y*';
$page[13] = 'http://www.neverlands.ru/modules/api/getid.cgi?monkery';
$page[14] = 'http://www.neverlands.ru/modules/api/getid.cgi?PJATNISTIJ';
$page[15] = 'http://www.neverlands.ru/modules/api/getid.cgi?Кекешка';
$page[16] = 'http://www.neverlands.ru/modules/api/getid.cgi?S%20Taba4kom';
$page[17] = 'http://www.neverlands.ru/modules/api/getid.cgi?Zaslanec';
$page[18] = 'http://www.neverlands.ru/modules/api/getid.cgi?A_R_T_I';
// распечатаем страничку, считывая первые 6 символов
$string=output_r($page[1]);
$string=substr($string,0,6);
echo $string;
echo("</table>");
?>
выполнить запрос подставив PlayerID к ссылке:
http://www.neverlands.ru/modules/api/info.cgi?playerid=[playerID]&info=1 - Определение основных параметров персонажа, его статуса и местоположения
Форма ответа:
3|[Никнейм]|[Уровень]|[Склонность]|[Код клана]|[Значок]|[Название клана]|[Статус]|[Пол]|[Признак блока]|[Признак тюрьмы]|[Молчанка в чате (остаток сек)]|[Форумная молчанка (остаток сек)]|[Онлайн/оффлайн]|[Местоположение]|[Номер боя]
Считаем ответ страницы и вводим в таблицу весь список в виде: номер, склонность, значок, никнейм, уровень, статус, Онлайн/оффлайн, местоположение. + оптимизировать код, ибо никак не может дойти как это может сделать
