josef Postado Agosto 6, 2012 Denunciar Share Postado Agosto 6, 2012 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Willian Gustavo Veiga Postado Agosto 6, 2012 Denunciar Share Postado Agosto 6, 2012 Coloca o código entre as tags code do fórum.Um abraço. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
josef
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.