Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

sedex

Usuários online em AJAX + PHP

Recommended Posts

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.