Gå til innhold

Hindre at flere en x antall personer er inne


Anbefalte innlegg

Jeg har en video side der jeg laster opp egenlagde filmer.

Men siden dette er på hjemme nettverket mitt så vil jeg ikke at det skal være mer enn x antall personer inne samtidig siden det har en stor effekt på linja mi som ikke er helt super.

 

Takker for alle svar

Endret av AlecTBM
Lenke til kommentar
Videoannonse
Annonse
Det finnes en del script der ute for å sjekke "hvor mange er online akkurat nå". Hva med å benytte noe sånt?

7821461[/snapback]

 

 

Modifisert script

Klikk for å se/fjerne innholdet nedenfor
<?php

/**
 * @name  	Brukere online
 * @Desc  	Sjekker brukere online
 * @param  	$filename, $time
 * @copyright  OXODesign TEAM
 * @author  	OXODesign
 * Web:  	http://www.oxo-design.net
 * @version  1.0
 */
class cl_online {
 
 var $pers_online;
 var $filename = "online.txt"; 
 var $time = 1; # Sett periode i minutter
 
 /**
  * @name func_update_file
  * Oppdaterer fila med ny ip adresse og klokkeslett
  */
 function func_update_file(){
 	
 	$get_ip = $_SERVER['REMOTE_ADDR'];
 	$time_now = time();
 	$input_str = $get_ip . "," . $time_now . "\r\n";
 	
 	$update_file =  fopen($this->filename, "a+");
     	fwrite($update_file,$input_str);
     	fclose($update_file);
 	
 }
 
 /**
  * @name func_check_ip
  * Sjekker om ip-adressen har vært online siste x antall min.
  */
 function func_check_ip(){
 	$read_file = file($this->filename);
 	
 	$online = false;
 	$get_ip = $_SERVER['REMOTE_ADDR'];
 	
 	foreach ($read_file as $val){
   $explode_val = explode(",", $val);
   $user_ip = $explode_val[0];
   $user_time = $explode_val[1];
   $make_time = time() - ($this->time * 60);
   
   if ($user_time >= $make_time) {
   	if ($user_ip == $get_ip)
     $online = true;
   }
 	}
 	
 	if (!$online)
   $this->func_update_file();
 }
 
 /**
  * @name func_read_file
  * Leser filen, går gjennom den og sjekker siste personene som har vært online.
  * @return Brukere online
  */
 function func_read_file(){
 	$read_file = file($this->filename);
 	$this->pers_online = 0;
 	
 	foreach ($read_file as $val){
   $explode_val = explode(",", $val);
   $user_ip = $explode_val[0];
   $user_time = $explode_val[1];
   
   $make_time = time() - ($this->time * 60);
   if ($user_time >= $make_time) {
   	$this->pers_online += 1;
   }
 	}
 	return $this->pers_online;
 }
 
 
}

$online = new cl_online;
$online->func_check_ip();


?>
<?php
$maksbrukere = "10"; // Maks brukere
if ($online->func_read_file() >=$maksbrukere )
echo "server overload";
else
echo "Online users: " . $online->func_read_file();
?>

Endret av The_Lozer
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...