PDA

Просмотр полной версии : php script


Isis
23.11.2006, 00:12
Вообщем мне нужна помощь :)

Я делаю мониторинг кс серверов и у меня есть 2 скрипта!!!

Вот первый(мониторинг онлайн):
сам скрипт (http://lamak.info/monitoring/index.txt)
вид скрипта (http://lamak.info/monitoring/index.php)
Вот второй(скрипт показывает кто в игре и сколько фрагов):
сам скрипт (http://lamak.info/monitoring/stats.txt)
вид скрипта (http://lamak.info/monitoring/stats.php)

Что-то я смог что-то у вас спрашиваю :)

1) Вот вы видите что в первом скрипте под строкой "Сервер" идут ИП серверов и линки на них!!!

Так вот....я хочу сделать так чтобы эти линки указывали на второй скрипт, а в то время как второй скрипт знал какой ип сервера ему нужно нам показать!!!

Вообщем при нажатии на какото из серверов было видно кто играет на том или ином сервере!!!

2) Хочу сделать так..чтобы на странице показывало максимум 10 серверов...если больше , то снизу появляется линк на след.страницу !!!

3)И вот последний вопрос....можно ли мне както сократить свою работу???Не повторять все время скрипт для каждого сервера(как вы это видите в 1 скрипте), а мб както по другому можно!!!

4)Хочу сделать так...чтобы на сайте была форма в которую ишут любые постеители IP:порт (сервера кс) и если этот сервер активен, то он добавляется в таблицу :)

Вообщемто все :)Ух ужас сколько я хочу ))Спасибо

TaNkist
23.11.2006, 11:52
Поверхностно просмотрел твои скрипты:
1)Меняем в первом скрипте

$url="<a href=http://".$server.">";
на
$url="<a href=http://lamak.info/monitoring/stats.php?server=".$server.">";

Во стором скрипте:

if (!isset($server))
{
$server="89.169.79.236";
}

P.S.: может быть тут приведен некорректный код, т.к. PHP я знаю очень плохо
2) Создай переменную счетчик.
3) Вынеси код проверки сервера в отдельную функцию.
4) Тогда создай текстовый файл с ip-шниками или заноси их БД.

Isis
23.11.2006, 14:19
Респект тебе !!!!!!Спасибо

Вот 2,3 и 4 конечно хотелось бы поподробнее:)
Т.к. в пхп я не силен

Isis
25.11.2006, 04:30
if (!isset($server))
{
$server="89.169.79.236";
}
А почему там именно тот ип???
Чуть не доработан пхп код..... :(

bul.666
25.11.2006, 05:21
А почему там именно тот ип???
ХЗ... Он указан, как поумолчанию...
Тоесть, если сервер не указан, то он будет таковым =)

Isis
25.11.2006, 18:27
С этими строчками скрипт очень долго загружая страницу показал мне её пустую :)

bul.666
25.11.2006, 18:48
Значит этот сервер хреновый =)

Isis
26.11.2006, 00:40
Вот все я сделал кроме 1 пункта!!!
Казалось бы это так легко, но не получатся!!!
Вот 1 скрипт :
http://lamak.info/cs/
Вот 2 скрипт:

<?php
error_reporting(E_ALL);
$server=$_GET['server'];
if (!isset($server))
{
echo "Ошибка в просмотре статистики сервера";
}
$qw=chr(32);

$fp = @fsockopen ("udp://".$server,27015);
if (!$fp) return false;
{
fwrite($fp,"\377\377\377\377players".chr(10));
//fwrite($fp,"\xFF\xFF\xFF\xFF\x54\x53\x6F\x75\x72\x63\x65\x20\x 45\x6E\x67\x69\x6E\x65\x20\x51\x75\x65\x72\x79\x00".chr(10));
$st=fread($fp,1);
$r=socket_get_status($fp);
$r=$r["unread_bytes"];
$st.=fread($fp,$r);
fclose($fp);
$playersn=ord(substr($st,5,1));
$st=substr($st,6);
}
if ($playersn != 0 )
{
echo ("\n<meta http-equiv=\"content-type\" content=\"text/html; charset=windows-1251\">
<title>Кто играет?</title>
<body>
<center>
<table width=\"100\" border=\"0\" cellpadding=\"2\" cellspacing=\"1\" align=\"left\" bgcolor=\"black\">
<tr>
<td colspan=\"3\"><center><font color=white>Сейчас на сервере $server : </font></center></td>
</tr>
<tr>
<td bgcolor=\"#ffffff\" width=\"15\">N</td>
<td bgcolor=\"#ffffff\" width=\"250\">Игрок:</td>
<td bgcolor=\"#ffffff\">Kills:</td>
</tr>\n");

for ($i=1;$i<=$playersn;$i++){
$n=ord(substr($st,0,1));
$st=substr($st,1);
$name=substr($st,0,strpos($st,chr(0)));
$kills=ord(substr($st,strpos($st,chr(0))+1,1));
if ($kills==255){$kills=-1;}
if ($kills==254){$kills=-2;}
if ($kills==253){$kills=-3;}
if ($kills==252){$kills=-4;}
$st=substr($st,strpos($st,chr(0)));
$st=substr($st,9);
echo("

<tr>
<td bgcolor=\"#ffffff\" width=\"15\">$n</td>
<td bgcolor=\"#ffffff\" width=\"250\">$name</td>
<td bgcolor=\"#ffffff\">$kills</td>
</tr>\n");
}
echo("</table></body>");
}
else
echo "Ошибка в просмотре статистике сервера </html>";
?>


Надо сделать так, чтобы во втором скрипте при stats.php?server=.$server.
Показывалась статистика игроков ( т.е. 2 скрпит)
Но показывает он почемуто половину серверов так, а др.половину не хочет !!!
Сделайте плз как нужно ))Я даже заплачу

bopoh13
29.11.2006, 14:42
Мда, замудрено тут у тебя. Где скрипт нашел-то?
Fatal error: Maximum execution time of 30 seconds exceededЗаметь, ошибка не возникает, когда на сервере у тебя количесво играков равно 1. В другом случае возникает ошибка...

Вот скажи: зачем тебе, например,
$qw=chr(32);эта переменная нигде не используется...

Скрипт интересный, но чувствуется, куска не хватает. :rolleyes:

ЗЫ: зачем исходные файлы удалил? Я не телепат!

Isis
30.11.2006, 08:47
Как приду...восстановлю

Isis
28.04.2007, 17:37
Мда, замудрено тут у тебя. Где скрипт нашел-то?
Заметь, ошибка не возникает, когда на сервере у тебя количесво играков равно 1. В другом случае возникает ошибка...

Вот скажи: зачем тебе, например,
эта переменная нигде не используется...

Скрипт интересный, но чувствуется, куска не хватает. :rolleyes:

ЗЫ: зачем исходные файлы удалил? Я не телепат!

set_time_limit(0); // or
max_execution_rime(0);

//Моя первая тема на ачате =))))))))))))))