独自幸福快乐医改考核惠州市的医卫改革位列全省第二依依不舍孤独
文章来源:沧州文学网 | 2020-06-24
无聊情况下,看能用比较少的代码构建聊天室,一开始写了整整100行把聊天室内完成,后来觉得很多功能没有,又重新修改,加了不少代码。其实不利用特别复杂的技术,比如模板、数据库等等,一样能做比较不错的聊天室,适合个人使用。
基本功能:能登陆,聊天,记录人数IP事件,能控制聊天的字体颜色,自动把转化聊天中址为链接地址,能定制聊天室标题、广告信息等等。使用文本作为存储媒体,又兴趣可以参考代码,并且进行扩展。
其实PHP作为快速开发的脚本语言是很棒的!
===代码===
?php
/**
* 黑夜路人简易聊天室
* 作者: heiyeluren heiyeluren_at_
* 创建: 22:42
* 修改: 23:25
*/
error_reporting(7);
session_start();
header("ContentType:text/html;charset=gb2312");
define("SCRIPT", $_SERVER['SCRIPT_NAME']);
define("CHAT_NOTE", "./t");
define("ONLINE_LIST", "7。如果您也能写。另一个站长也能写。那您俩可以合作。他写的软文发表加您的链接。您写的软文也加他的链接。然后同时发表。不同内容都有你俩的链接。这可是一个双赢的好办法。./t");
define("REF_TIME", 5);
define("CHAT_NAME", "黑夜路人聊天室");
define("AD_MSG", "今天是中国情人节, 祝大家情人节快乐!!");
//获取值
if (isset($_GET['action']) !empty($_GET['action'])) {
$action = $_GET['action'];
}
//如果已经登陆那么直接跳到聊天界面
if (!isset($_GET['action']) isset($_SESSION['username'])) {
header("location:".SCRIPT."?action=chat");
}
//登陆提示
if (!isset($_GET['action']))
{
if (!session_is_registered('username'))
{
echo " ph3 align=center[ ".CHAT_NAME." ] copy; 2005/h3/p
p align=center
form action=".SCRIPT."?action=login method=post
呢称: input type=text size=25 maxlength=30 name=login_user
input type=submit value=聊天
/form/p
";
exit;
}
}
//校验登陆
if ($action=='login')
{
if (isset($_POST['login_user']) !empty($_POST['login_user'])) {
$username = $_POST['login_user'];
} else {
$username = "游客";
}
session_register('username');
save_online($username, get_client_ip());
header("location:".SCRIPT."?action=chat");
}
//开始聊天
if ($action=="chat")
{
$online_sum = get_online_sum();
echo "headtitle[ ".CHAT_NAME." ]/title/headcenterbody bgcolor=#C4BFB9 style='font-size:12px;'
div style='border:1px solid #999966; width:802px;height:450'iframe src='".SCRIPT."?action=show' name=show_win width=800 height=450 scrolling=auto frameborder=0/iframe/divbr
marquee width=70% scrollamount=2 ".AD_MSG." /marqueenbsp;nbsp; [当前:$online_sum]
iframe src='".SCRIPT."?action=say' name=say_win width=800 height=60 scrolling=no frameborder=0
";
}
//说话界面
if ($action=="say")
{
echo "headtitle[ ".CHAT_NAME." ]/title/headcenterbody bgcolor=#C4BFB9 style='font-size:12px;'
form action=".SCRIPT."?action=save method=post name=chat onSubmit='return check()'
[".$_SESSION['username']."]说:input type=text size=80 maxlength=500 name=chatmsg style=' background-color:#99CC99; width:550px; height:22px; border:1px solid:#000000'
select name=usercolor
OPTION selected style='COLOR: #000000' value='000000'默认颜色/OPTION
OPTION style='COLOR: #000000' value='#000000'黑色沉静/OPTION
option style='COLOR: #ff0000' value='#FF0000'红色热情/option
option style='COLOR: #0000ff' value='#0000FF'蓝色开朗/option
option style='COLOR: #ff00ff' value='#FF00FF'桃色浪漫/option
option style='COLOR: #009900' value='#009900'绿色青春/option
option style='COLOR: #009999' value='#009999'青色清爽/option
option style='COLOR: #990099' value='#990099'紫色拘谨/option
option style='COLOR: #990000' value='#990000'暗夜兴奋/option
option style='COLOR: #000099' value='#000099'深蓝忧郁/option
option style='COLOR: #999900' value='#999900'卡其制服/option
option style='COLOR: #ff9900' value='#FF9900'镏金岁月/option
option style='COLOR: #0099ff' value='#0099FF'湖波荡漾/option
option style='COLOR: #9900ff' value='#9900FF'发亮蓝紫/option
option style='COLOR: #ff0099' value='#FF0099'爱的暗示/option
option style='COLOR: #006600' value='#006600'墨绿深沉/option
option style='COLOR: #333333' value='#333333'灰色轨迹/option
option style='COLOR: #999999' value='#999999'伦敦灰雾/option
/select
input type=submit value='说话' style='background-color:#ffffff' a href=".SCRIPT百度统计都能够详细的提供这些数据."?action=logoff title=退出聊天室 target=_top onclick='return confirm(\"你确定要退出聊天室吗?\")'退出/a
/form
scriptfunction check(){if(lue==''){;alert('请输入聊天信息!');return false;}return true;}/script
";
}
//保存说话
if ($action=="save")
{
if ($_POST['chatmsg']!="") {
save_chat($_POST['chatmsg'], $_SESSION['username'], $_POST['usercolor']);
}
header("location:".SCRIPT."?action=say");
}
//显示聊天记录
if ($action=="show")
{
echo "body style='font-size:12px' onload='scrollit()'";
echo "META HTTP-EQUIV=REFRESH CONTENT='".REF_TIME.";URL=".SCRIPT."?action=show'";
if (file_exists(CHAT_NOTE)) {
$chat_msg = @file_get_contents(CHAT_NOTE);
echo $chat_msg;
} else {
echo "目前没有人说话";
}
}
//退出聊天室
if ($action=="logoff")
{
unset($_SESSION['username']);
session_destroy();
header("location:".SCRIPT);
}
/* 基本函数 */
//保存聊天记录函数
function save_chat($msg, $user, $color)
{
if (!$fp = fopen(CHAT_NOTE, "a+")) {
die('创建聊天记录文件失败, 请检查是否有权限.');
}
$msg = htmlspecialchars($msg);
$msg = preg_replace('/([http|ftp:\/\/])*([a-zA-])+\.([a-zA-Z_-])+\.([a-zA-Z_-])+(a-zA-Z_)*/', 'a href=\\0 target=_blank\\0/a', $msg);
$msg = preg_replace('/([a-zA-Z_\.])+@([a-zA-Z-])+\.([a-zA-Z-]{2,4})+/', 'a href=mailto:\\0\\0/a', $msg);
$msg = date('H:i:s')." [".$user."]说: font color='".$color."'".$msg."/fontbr\r\n";
if (!fwrite($fp, $msg)) {
die('写入聊天记录失败.');
}
fclose($fp);
}
//写人信息
function save_online($user, $ip)
{
if (!$fp = fopen(ONLINE_LIST, "a+")) {
die("创建列表文件失败, 请检查是否有权限.");
}
$user = str_replace("|", "", $user);
$line = $user."|".$ip."|".time()."\r\n";
if (!fwrite($fp, $line)) {
die("写入列表失败.");
}
fclose($fp);
}
//获取人数
function get_online_sum()
{
if (file_exists(ONLINE_LIST)) {
$online_msg = file(ONLINE_LIST);
return count($online_msg);
} else {
return 0;
}
}
//获取当前登陆用户IP
function get_client_ip()
{
if ($_SERVER['REMOTE_ADDR']) {
$cip = $_SERVER['REMOTE_ADDR'];
} elseif (getenv("REMOTE_ADDR")) {
$cip = getenv("REMOTE_ADDR");
} elseif (getenv("HTTP_CLIENT_IP")) {
$cip = getenv("HTTP_CLIENT_IP");
} else {
$cip = "unknown";
}
return $cip;
}
?
宜昌治疗白癜风哪家医院好风寒湿痹手足麻木宝宝母乳性黄疸症状上一篇:装修小心提防电工偷电线
- [心情日记]卧室不安装双人床,而是直接在地面三脚"它",省空间显宽敞
- [心情日记]Alessandra Rich 2022早秋系列,修身廓形的韵味,亮点更添时髦
- [心情日记]存储巨头们,拼成什么?
- [心情日记]新增5个准入地!2022年法考准入条件地方名单汇总
- [心情日记]汪汪狗狗去郊游,会发生什么事情呢玩沙子 小孩子的快乐总是那么简单 陪伴孩子的美好时光 ;还有 工程车
- [心情日记]英国央行助理经济学家:货币政策紧缩还没到头
- [心情日记]️来自霍格沃茨的趣味魔法编程让应用程序耕于心田,令魔法绽于指尖。影子老师全新力作,众人翘首以待,下周
- [心情日记]魅族19疑似曝光,魅友:不在辉煌时驻足,不在低谷时转身离去