Vlastní ICQ status v PHP Skyluke
Navigace:Skyluke ⇒ Zá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 teVlastní 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
Kometáře
Související články
- Vlastní ICQ status v PHP
- Jak na vlastní rádio
- Budoucnost: vlastní měna
- Vždy si domlouvám vlastní podmínky
- Mysql - Inteligentní cache
Vyhledávání na webu
RSS export
RSS článků z blogu RSS exportKategorie
- Zápisník
- PC/Internet
- mrtvy blog
- TV - Film
- mrtvy blog
- Zábava
- Design
- Hry
- Ze života
- Mé výtvory
- Linux
- Mobilní telefony/ WM
- - bleskovky
Zajimavé
- Nový redaktor aneb Rembrant.F
- 1. výročí zápisníku
- Proč vlastně bloguju?
- Neaktivita
- Životopis Abraham tetovaní blog ns designer tutorial romantický film tetování templáři horory o duších jaro tapety na plochu pc seznam dvd 5 sprostá navigace nejoblíbenější české písničky hospody a kouření
- www hdvideofilmy cz
- nezvratný osud 5 3d
- televizi samsung nebo lg
- 3d brýle jaké
- boxerská hra na pc
novyblog |
10.4.2009 |