sedex 0 Denunciar post Postado Agosto 23, 2006 Olá galera, após alguns dias sem postar no forúm... estou de volta. Baixei um script de usuario online, utilizando ajax e php do DR. Fabyo. Mas acho que estou fazendo algo de errado, porque o contador esta apresentado um pequeno erro. ele incremeta (ou seja, aumenta os usuários conforme vão acessando a pagina), mas o contador nao descrementa (se alguem sair da pagina o contador continua com a mesma contagem de usuarios). e agora ele começou a mostrar um pequeno erro... Fatal error: Call to undefined function: file_put_contents() in c:\appserv\www\online\userscount.php on line 27 usuários online e o conteudo da pagina userscount.php é o seguinte: <?php $gmtDate = gmdate("D, d M Y H:i:s"); header("Expires: {$gmtDate} GMT"); header("Last-Modified: {$gmtDate} GMT"); header("Cache-Control: no-cache, must-revalidate"); header("Pragma: no-cache"); $timeExpire = 30; //tempo em segundos para expirar usuario $fileName = "online.txt"; //nome do arquivo a ser usado if(!file_exists($fileName)) { $f = fopen($fileName, "w"); fclose($f); } $ip = $_SERVER['REMOTE_ADDR']; //pegar ip do usuario $tempo = time(); //pegar o timespan $stringUser = $ip . ":" . $tempo; //concatenamos usando o caractere : como divisor $onlineNow = file_get_contents($fileName); //arquivo txt com dados de usuarios atuais $arrayNow = explode("|", $onlineNow); //o divisor usado para separar valores é | $newUsers = array(); //essa array irá gravar os usuarios ainda online //agora vamos filtrar os usuarios com timespan vencido foreach($arrayNow as $an) { list($tIP, $tTime) = explode(":", $an); //separamos usando o separador previamente definido if($tIP != NULL && $tTime != NULL && $tIP != $ip && $tTime > $tempo - $timeExpire) { $newUsers[] = $tIP . ":" . $tTime; //caso o usuario passe no teste, ele é adicionado } } $newUsers[] = $stringUser; //adicionando o usuario atual file_put_contents($fileName, implode("|", $newUsers)); //atualiza o arquivo echo count($newUsers); //escreve a quantidade de usuarios atual ?> Alguém já teve esse erro em algum outro sistema ou nesse mesmo? Ou se alguem tiver uma versão corrigida desse sistema ou de outro que não utilize ip para contar os usuarios. Agradeço a todos que puderem ajudar!!! Compartilhar este post Link para o post Compartilhar em outros sites
nao_sei 0 Denunciar post Postado Agosto 23, 2006 Veja qual versão do PHP você está usando, essa função só é disponível no php 5... http://www.php.net/manual/pt_BR/function.f...ut-contents.php Compartilhar este post Link para o post Compartilhar em outros sites
sedex 0 Denunciar post Postado Agosto 23, 2006 Existe outra forma de fazer esse contador online sem ser por IP? Compartilhar este post Link para o post Compartilhar em outros sites
sedex 0 Denunciar post Postado Agosto 23, 2006 Olá pessoal, só queria agradecer ao meu novo amigo NAO_SEI, a resposta dele estava correta.O sistema só funciona no PHP 5.Obrigado amigo pela ajuda!!Valeu!!! Compartilhar este post Link para o post Compartilhar em outros sites