Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP进行聊天的资源_Php_Resources_Chat - Fatal编程技术网

使用PHP进行聊天的资源

使用PHP进行聊天的资源,php,resources,chat,Php,Resources,Chat,我将开发一个简单的聊天网站来帮助我的朋友网站,它需要聊天支持功能,因为我喜欢测试我的PHP知识,但首先我需要一些资源,我可以从那里开始。我想从非常简单的东西开始,然后我开始改进它(因为我通常喜欢做东西) 所以你能分享一些我做这件事所需要的资源吗?比如示例、代码片段和文档 PS:我对Javascript和AJAX都不太在行,因为您需要一个非常简单的解决方案,下面是一个充满缺陷的工作示例 问候, //t 如果希望聊天是实时的,您需要熟练使用JavaScript或AJAX。否则,用户可能需要在每次发送

我将开发一个简单的聊天网站来帮助我的朋友网站,它需要聊天支持功能,因为我喜欢测试我的PHP知识,但首先我需要一些资源,我可以从那里开始。我想从非常简单的东西开始,然后我开始改进它(因为我通常喜欢做东西)

所以你能分享一些我做这件事所需要的资源吗?比如示例、代码片段和文档

PS:我对Javascript和AJAX都不太在行,因为您需要一个非常简单的解决方案,下面是一个充满缺陷的工作示例

问候,

//t


如果希望聊天是实时的,您需要熟练使用JavaScript或AJAX。否则,用户可能需要在每次发送消息时发布表单。如果您没有JS功能(AJAX是其中的一个子集),那么您将很难获得与实时聊天非常相似的内容。@更重要的是,他们需要重新加载表单以获得任何人的响应!@cwallenpole:在这一点上,它更像是一个论坛,每个人都在点击“刷新”,而不是一个真正的聊天程序。嗯,对不起,我的英语不好。我的意思是,我对Javascript有一定的中级经验(我从未尝试过AJAX),而不是高级程序员。现在大家都明白了
<?
//chat.php
//collect input from user
if($_SERVER['REQUEST_METHOD'] == 'POST') {
  //submitted by form - add to conversation...
  //get conversation from file in server to array..
  if (!file_exists('conversation.txt'))
    file_put_contents('conversation.txt',serialize(array()));
  $a = unserialize(file_get_contents('conversation.txt'));
  //add the new entry to the conversation
  $a[] = array(
    'user' => $_POST['user'],
    'line' => $_POST['line']
  );
  //if conv. > 20 msg, crop
  if (sizeof($a)>20) $a = array_split($a, sizeof($a)-20);
  //now save..
  file_put_contents('conversation.txt',serialize($a)); 
  //and we're done with logic..
}
//from here, only presentation..
?>
<html>
<body>
...
<?php
//show conv...
$a = unserialize(file_get_contents('conversation.txt'));    
for($i=0;$i<sizeof($a);$i++) {
  echo $a[$i]['user'] . ':' . $a[$i]['line'] . '<br />';
}
?>
//build a form to submit line...
<form name="frm1" method="post" action="chat.php">
  <input type="text" name="user" />
  <input type="text" name="line" size="60" />
  <input type="submit"/>
</form>
<!-- add js that reloads as long as no entry in line... !-->
<script type="text/javascript">
function getChat() {
  if (document.frm1.line.value.length == 0) {
    //alert('reloading');
    location.reload(true);
  }
}
//add a simple js-timer to fire every 8 sec.
setInterval('getChat()',8000);
</script>
</body>
</html>