Forum Webscript.Ru
Программирование => PHP => Тема начата: Daiz13 от 06 Марта 2002, 09:51:05
-
Как определить статус ICQ и показать СВОЮ online/offline иконку?
-
http://online.mirabilis.com/scripts/online.dll?icq=номераси&img=2
-
Это ясно, а как мне в скрипте узнать сотстояние номера? Цвет картинки анализировать?
Хочу создать список с номерами и сортировать по онлайности, нашел такой примерчик, но у меня не работает, хотя возможно все дело в драйверах для рук....
$uin = "XXXXXXXX";
function ICQ_Status($uin)
{
$arr = @file("http://wwp.icq.com/scripts/online.dll?icq=$uin&img=1");
$len = strlen($arr[1]);
if ($len == "") return "ICQ: Local Server";
if ($len == 96) return "ICQ: Online";
if ($len == 83) return "ICQ: Offline";
if ($len == 1) return "ICQ: Disabled";
}
echo ICQ_Status($uin);
-
Вроде правильно
PS Или я торможу :)
-
внимательно посмотрите на исходник ;)
что-то кавычки стоят как-то не так ;)
и взят он из форума phpbuilder.com. как есть.
и не работает, т.к. на сервере icq изменили структуру.
найду способ, поделюсь :)
-
Во всяком случае можно помудрить с картинками
т.е. поработать с их размером и т.д. и т.п
-
вот _мое_ (нигде не смог найти) решение:
$fname = "/scripts/online.dll?icq=$uin&img=5";
$fhost=\'wwp.icq.com\';
$x=0;
$fp = fsockopen($fhost, 80, &$errno, &$errstr, 30) or die("облом");
fputs($fp,"HEAD $fname HTTP/1.0\\nHOST: $fhost\\n\\n");
while(!feof($fp)) $x.=fgets($fp,128);
fclose($fp);
if (ereg("Location: /lib/image/0,,43(.*),00.gif",$x,$l)) {
if($l[1] == "67") echo "$uin - online
\\n";
elseif($l[1] == "49") echo "$uin - offline
\\n";
elseif($l[1] == "86") echo "$uin - disabled
\\n";
else echo "error";
}
else {
echo "Error
";
}
поделитесь, пожалуйста, результатом.
-
значит mirabilis далеко не ушли просто изменили в скрипте число с 1 на 5 :)
-
Dm
Спасибо, твой вариант работает
-
AlieN
нет. идет редирект на другой адрес. а 5-ку просто с потолка взял (это просто маленькая иконка).
Daiz13
отлично :)