| 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ä: 289
 
  | 
		
			
				 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ä: 289
 
  | 
		
			
				 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ä: 289
 
  | 
		
			
				 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 | 
		 | 
	
	
		 |