Näytä edellinen aihe :: Näytä seuraava aihe |
Kirjoittaja |
Viesti |
Poistettu Vieras
|
Lähetetty: 27.1.2008 14:56 Viestin aihe: Poistettu |
|
|
Poistettu |
|
Takaisin alkuun |
|
Poistettu Vieras
|
Lähetetty: 28.1.2008 15:06 Viestin aihe: Poistettu |
|
|
Poistettu |
|
Takaisin alkuun |
|
Poistettu Vieras
|
Lähetetty: 28.1.2008 15:25 Viestin aihe: Poistettu |
|
|
Poistettu |
|
Takaisin alkuun |
|
axl Arkku.net henkilökunta
Liittynyt: 26 Jou 2005 Viestejä: 288
|
Lähetetty: 28.1.2008 15:26 Viestin aihe: |
|
|
Kuten jo vastattiinkin, et voi avata URL:ia kyseisellä funktiolla.
Saman toiminnallisuuden saat kuitenkin esimerkiksi funktiolla fsockopen .
Online-statuksen saat vaikka tällä koodilla:
Koodi: | <?php
function get_habbo_status($nickname) {
if($socket = fsockopen('www.habbo.fi', 80)) {
$headers .= "GET /home/{$nickname} HTTP/1.1\r\n";
$headers .= "Host: www.habbo.f\r\n";
$headers .= "Connection: Close\r\n\r\n";
fwrite($socket, $headers);
$reply = '';
while(!feof($socket)) {
$reply .= fgets($socket, 128);
}
fclose($socket);
list($headers, $content) = explode("\r\n\r\n", $reply, 2);
if(strpos($content, '<img alt="online"') !== false) {
return 1;
} else if(strpos($content, '<img alt="offline"') !== false) {
return 0;
} else {
return false;
}
} else {
return false;
}
}
?>
|
Eli siis. Haetaan funktiolla get_habbo_status($nimimerkki) ja palautusarvot: int 1 - online, int 0 - offline, boolean false - haku ei onnistunut.
Pitäisi toimia, en pahemmin testaillut.
Viimeinen muokkaaja, axl pvm 28.1.2008 19:42, muokattu 1 kertaa |
|
Takaisin alkuun |
|
Poistettu Vieras
|
Lähetetty: 28.1.2008 15:51 Viestin aihe: Poistettu |
|
|
Poistettu |
|
Takaisin alkuun |
|
axl Arkku.net henkilökunta
Liittynyt: 26 Jou 2005 Viestejä: 288
|
Lähetetty: 28.1.2008 19:02 Viestin aihe: |
|
|
Tuossahan on aivan sama onko se habbo.fi vai www.habbo.fi, kummatkin toimivat.
Kyseinen funktio voi olla vaikka erillisessä tiedostossa, jonka sitten lataat include/require-komennoilla.
Eli jos tuon sijoitat vaikka tiedostoon onoff.php, käytät sitä tiedostossa sivu.php vaikka näin:
Koodi: | <?php
require_once('onoff.php');
$status = get_habbo_status('Basari');
if($status === 1) {
echo 'online';
} else if($status === 0) {
echo 'offline';
} else {
echo 'tietoa ei saatu haettua';
}
?> |
Pitäisi onnistua melko helposti. |
|
Takaisin alkuun |
|
Poistettu Vieras
|
Lähetetty: 30.1.2008 0:23 Viestin aihe: Poistettu |
|
|
Poistettu |
|
Takaisin alkuun |
|
axl Arkku.net henkilökunta
Liittynyt: 26 Jou 2005 Viestejä: 288
|
Lähetetty: 30.1.2008 20:20 Viestin aihe: |
|
|
Ei ole suotavaa käyttää toisten palvelimien kaistaa tuollaiseen toimenpiteeseen.
Käytä mieluummin omia kuvia, jotka sijaitsevat sitten samalla (eli Arkun) palvelimella kuin sivut, ja niitä voit vaihdella tuon funktion avulla.
Esimerkkinä taas: (ja tuo funktio on taas tässä esimerkissä tiedostossa onoff.php).
Koodi: | <?php
require_once('onoff.php');
$status = get_habbo_status('Basari');
if($status === 1) {
echo '<img src="img/online.gif" alt="Online">';
} else if($status === 0) {
echo '<img src="img/offline.gif" alt="Offline">';
} else {
echo '<img src="img/error.gif" alt="Error">';
}
?> |
|
|
Takaisin alkuun |
|
|