Ir para conteúdo
Fórum Script Brasil
  • 0

Salvar dados de chat em arquivo.txt


josef

Pergunta

Pessoal, tenho um chat em jquery e PHP, que salva mensagens em arquivo txt, gostaria que ele salva-se também a data, hora e nome neste arquivo.txt, segue o chat:

HTML

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>

<script type="text/javascript" src="chat.js"></script>

<script type="text/javascript">

// ask user for name with popup prompt

var name = prompt("Enter your chat name:", "Guest");

// default name is 'Guest'

if (!name || name === ' ') {

name = "Guest";

}

// strip tags

name = name.replace(/(<([^>]+)>)/ig,"");

// display name on page

$("#name-area").html("You are: <span>" + name + "</span>");

// kick off chat

var chat = new Chat();

$(function() {

chat.getState();

// watch textarea for key presses

$("#sendie").keydown(function(event) {

var key = event.which;

//all keys including return.

if (key >= 33) {

var maxLength = $(this).attr("maxlength");

var length = this.value.length;

// don't allow new content if length is maxed out

if (length >= maxLength) {

event.preventDefault();

}

}

});

// watch textarea for release of key press

$('#sendie').keyup(function(e) {

if (e.keyCode == 13) {

var text = $(this).val();

var maxLength = $(this).attr("maxlength");

var length = text.length;

// send

if (length <= maxLength + 1) {

chat.send(text, name);

$(this).val("");

} else {

$(this).val(text.substring(0, maxLength));

}

}

});

});

</script>

</head>

<body onload=setInterval('chat.update()', 1000)">

<div id="page-wrap">

<h2>jQuery/PHP Chat</h2>

<p id="name-area"></p>

<div id="chat-wrap"><div id="chat-area"></div></div>

<form id="send-message-area">

<p>Your message: </p>

<textarea id="sendie" maxlength = '100' ></textarea>

</form>

</div>

</body>

PHP

<?php

$function = $_POST['function];

$log = array();

switch($function) {

case('getState'):

if(file_exists('chat.txt')){

$lines = file('chat.txt');

}

$log['state'] = count($lines);

break;

case('update'):

$state = $_POST['state'];

if(file_exists('chat.txt')){

$lines = file('chat.txt');

}

$count = count($lines);

if($state == $count){

$log['state'] = $state;

$log['text'] = false;

}

else{

$text= array();

$log['state'] = $state + count($lines) - $state;

foreach ($lines as $line_num => $line)

{

if($line_num >= $state){

$text[] = $line = str_replace("\n", "", $line);

}

}

$log['text'] = $text;

}

break;

case('send'):

$nickname = htmlentities(strip_tags($_POST['nickname']));

$reg_exUrl = "/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/";

$message = htmlentities(strip_tags($_POST['message']));

if(($message) != "\n"){

if(preg_match($reg_exUrl, $message, $url)) {

$message = preg_replace($reg_exUrl, '<a href="'.$url[0].'" target="_blank">'.$url[0].'</a>', $message);

}

fwrite(fopen('chat.txt', 'a'), "<span>". $nickname . "</span>" . $message = str_replace("\n", " ", $message) . "\n");

}

break;

}

echo json_encode($log);

?>

Obrigado

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...