Vlastní ICQ status v PHP Skyluke

Navigace:SkylukeZápisník ⇒ Vlastní ICQ status v PHP

Vlastní ICQ status v PHP

Vlastní ICQ status v PHP Chtěli jste si někdy na web přidat vlastní ikonku se statusem icq? Tak si přečtěte te
vytvoření statusu v ICQ, vlastní icq status, status icq, jak zjistim statusy na icq, icq jak přidat vlastní status, zjisti stav na icq, statusy na icq, icq status blog, icq status vlastní obrázek, zjisteni online icq,

Vlastní ICQ status v PHP

Chtěli jste si někdy na web přidat vlastní ikonku se statusem icq? Tak si přečtěte tento návod s přímou ukázkou zdrojových kódů

Zjištění stavu

function icq_online($icq_number){ if($fp = fsockopen("status.icq.com", 80)){ stream_set_timeout($fp, 2); fputs($fp, "GET /online.gif?icq=".$icq_number."&img=5 HTTP/1.0\r\n\r\n"); $s=''; while($line=FGetS($fp,3)){ $s.=$line; } return ereg('online1.gif',$s) ? true : false; } else { return false; } }

Tato funkce zjistí odpověď ze serveru ICQ a pomocí hlavičky zjistí, zda-li jste on-line nebo off-line. Vrací hodnotu true nebo false. Samozřejmostí je nastavení timeoutu, který zajistí, že pokud nebude možné se připojit na server ICQ do 2 sekund, automaticky se budete považovat za off-line.

Zobrazení obrázku a cache

function get_icq_status($icq_number){ $lifetime = 600; $cur = dirname(__FILE__).DIRECTORY_SEPARATOR; $status = $cur.'status.png'; $online = $cur.'online.png'; $offline = $cur.'offline.png'; if(!file_exists($status) || time()-filemtime($status)>$lifetime){ if(icq_online($icq_number)){ copy($online, $status); } else { copy($offline, $status); } chmod($status, 0777); } header('Pragma: no-cache', true); header('Content-type: image/png', true); echo file_get_contents($status); exit(); }

Aby se stav nezjišťoval po každém načtení stránky (což by bylo pěkně pomalé a zvyšovalo by to zátěž serveru), tak se zkopíruje vámi nadefinovaný obrázek do souboru status.png, u kterého se zjišťuje a porovnává datum jeho vytvoření. Je-li soubor starší než 10 minut, aktualizuje se.

Ukázka ke stažení

Kód, který používám na mém serveru již měsíc bez sebemenších výkonnostních problémů si můžete stáhnout jako icq_status.zip [11 kB]

Zdroj

Část kódu byla převzata a upravena z vynikajícího PIFíkova weblogu PHP weblog


autor novyblog | cal 10.4.2009 | Zápisník osobní věci, osobní blog Zápisník |

Kometáře


Zatim tu nejsou žádný (schválené) kometáře.
Nové kometáře nejsou povolené.

Související články

preferuji film v původním zneni budoucnost posty Fotky oskaru úvaha o počítačové pirátství posterizace brush vytvoreni loga v photoshopu tvoříme gif dj na plochu tapety noci prace cocacola

Vyhledávání na webu

RSS export

RSS článků z blogu RSS export

Kategorie

Zajimavé