Grazie della risposta, comunque sono appena riuscito a creare un sistema che scrive la lista di utenti connessi, senza database!! Utilizzato dei file txt, creandone uno per ogni utente che si connette, ogni file contiene un numero(time), ogni utente aggiorna ad ogni refresh della pagina il suo file txt, scrivendovi il time() attuale. Ad ogni refresh, inoltre, l'utente controlla tutti i file degli altri utenti, se il numero presente in essi ha una differenza di oltre 20 secondi dal time() attuale, il file viene cancellato, e l'utente possessore di quel file scompare dalla lista degli utenti connessi.Posto il codice nel caso qualcuno sia interessato.
Codice PHP:
<?php
session_start();
function connessi($directory = FALSE)
{
$var=fopen("connessione/".$_SESSION['username'].".txt","w");//il file relativo all'utente coinnesso viene"riempito" con il time() atuale, se il fike non esiste viene creato
$var2=fwrite($var,time());
if ($handle = opendir("./" . $directory))//estraggo tutti i file e le cartelle dalla directory che mi interessa
{
while ($file = readdir($handle))
{
if (is_dir("./{$directory}/{$file}"))
{
if ($file != "." & $file != "..") $dirs[] = $file;
}
else
{
if ($file != "." & $file != "..") $files[] = $file;
}
}
}
closedir($handle);
echo"[b]utenti connessi:[/b]";
while(list($key, $value) = each($files))
{
$ext=explode(".",$value);//inserisco in un array nome e estensione del file
if($ext[1]=="txt"){//prendo in considerazione solo file con estensione txt
$var=fopen("connessione/".$value,"r");//apro il file
$var2=fread($var,20);//leggo il file
if(time()-$var2>20)//verifico che l'utente abbia aggirnato il proprio file nei precedenti 20 secondi
unlink("connessione/".$value);//in caso contrario elimino il file
echo $ext[0].", ";//scrivo il nome del file senza estensione, quindi l'username dell'utente
}
}
}
connessi("/connessione/");//cartella che contiene i file txt
?>