<?php
$filename='online.txt';//数据文件
$cookiename='VGOTCN_OnLineCount';//cookie名称
$onlinetime=600;//在线有效时间,单位:秒 (即600等于10分钟)
$online=file($filename);
//PHP file() 函数把整个文件读入一个数组中。与 file_get_contents() 类似,不同的是 file() 将文件作为一个数组返回。数组中的每个单元都是文件中相应的一行,包括换行符在内。如果失败,则返回 false
$nowtime=$_SERVER['REQUEST_TIME'];
$nowonline=array();
//得到仍然有效的数据
foreach($online as $line){
$row=explode()('|',$line);
$sesstime=trim($row[1]);
if(($nowtime - $sesstime)<=$onlinetime){//如果仍在有效时间内,则数据继续保存,否则被放弃不再统计
$nowonline[$row[0]]=$sesstime;//获取在线列表到数组,会话ID为键名,最后通信时间为键值
}
}
/*
@创建访问者通信状态
使用cookie通信
COOKIE 将在关闭浏览器时失效,但如果不关闭浏览器,此 COOKIE 将一直有效,直到程序设置的在线时间超时
*/
if(isset()($_COOKIE[$cookiename])){//如果有COOKIE即并非初次访问则不添加人数并更新通信时间
$uid=$_COOKIE[$cookiename];
}else{//如果没有COOKIE即是初次访问
$vid=0;//初始化访问者ID
do{//给用户一个新ID
$vid++;
$uid='U'.$vid;
}while(array_key_exists($uid,$nowonline));
setcookie($cookiename,$uid);
}
$nowonline[$uid]=$nowtime;//更新现在的时间状态
//统计现在在线人数
$total_online=count($nowonline);
//写入数据
if($fp=@fopen($filename,'w')){
if(flock($fp,LOCK_EX)){
rewind($fp);
foreach($nowonline as $fuid=>$ftime){
$fline=$fuid.'|'.$ftime."\n";
@fputs($fp,$fline);
}
flock($fp,LOCK_UN);
fclose($fp);
}
}
echo 'document.write("'.$total_online.'");';
?>
其形式为:
strip_tags()
(PHP 3 >= 3.0.8, PHP 4, PHP 5)
strip_tags -- Strip HTML and PHP tags from a string
Description
string strip_tags ( string str [, string allowable_tags] )
This function tries to return a string with all HTML and PHP tags stripped from a given str. It uses the same tag stripping state machine as the fgetss() function.
You can use the optional second parameter to specify tags which should not be stripped.
例子 1. strip_tags() example
$text = '<p>Test paragraph.</p><!-- Comment --> Other text';
echo strip_tags($text);
echo "\n";
// Allow <p>
echo strip_tags($text, '<p>');
?>
上例将输出:
Test paragraph. Other text
<p>Test paragraph.</p> Other text
您可能感兴趣的文章:
php去除HTML标签的二种方法
php 去除多余的HTML标签
php用strip_tags完整去除所有html标签的实例分享
php过滤html标记的函数strip_tags用法举例(图文)
php删除html标签的三种方法分享
php删除html标签及字符串中html标签的代码
php获取html网页内容的多个方法
去掉内容中 html 标签的代码
提取html标签的php代码
php正则过滤html标签、空格、换行符等的代码示例
php使HTML标签自动补全闭合函数的代码
php实现html标签自动补全的代码
thinkPHP的Html模板标签的使用方法
在生产环境中,一个巨大无比的form,包括三张图片,几百个输入框,近一千个checkbox,在用post方法提交到后台时,数据被拦腰截断。
一路打debug,发现PHP 拿到 $_POST时,数据就不足。
一开始以为是php中的post_max_size, upload_max_size的问题, 但是设成100M也不管用。
后来又以为是Apache 中的limitpostdate的问题,设大了之后也不管用。
后来在客户端装wireShark抓包,发现tcp包中间出现 TCP WINDOWS FULL,于是又以为是浏览器在TCP第二次握手的时候,没有正确传输总package size。
直到最后, 在Apache的error.log中发现, 出了如下错误:
<span >PHP Warning: Unknown: Input variables exceeded 1000</span>
原来PHP中默认post中的参数的个数是1000,超过部分会被自动扔掉。
调整下这个数值,比如我们设置为2000:
在PHP.ini中设置
max_input_vars = 2000