好,分我要了,你需求是来路ip记录在ip.txt里,countdata.txt是访问次数对吧。但是你的需求我没看明白,ip.txt仅仅是用来存贮最后访问ip,而不是全部访问ip吗?那么countdata.txt也没啥意义了,仅仅是统计页面打开次数而已了。理解的有问题吗?
创新互联是一家集网站建设,金东企业网站建设,金东品牌网站建设,网站定制,金东网站建设报价,网络营销,网络优化,金东网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
我的理解是是ip.txt存放所有ip地址,countdata.txt里存放ip和该ip对应的点击次数。其实也就需要countdata.txt一个就可以了,如果有新ip,存入,该ip访问次数+1,如果已存在改ip,ip访问次数+1。
如果只是存贮最后访问ip和总访问次数,那太简单了。等你回复,确定需求后给代码
两种方式:
第一:使用一个文本文档
每次读取这个文本文档的数,然后加1,再覆盖写入
关键代码:
?php
$txt_db = 'jsb.txt';
$nums = file_get_contents($txt_db);
$nums++;
file_put_contents($txt_db,$nums);
?
第二:使用数据库,设计数据表,每次更新数据库。
个人建议:使用第一种方法。
原因:需求简单,所以尽可能少占资源,抗压力强。
$str = ""
echo substr_count($str,'w'); // print 3
建议使用substr_count函数,这样可以直接统计出结果。
preg_match_all得到的是一个二维数组,你可以去看一下php手册,他还有一个可选参数,默认时PREG_PATTERN_ORDER,这样得到的二维数组$arr,第一个是匹配的字符串,第二个是匹配第一个括号的字符串,后面依次类推
还可以设置为PREG_SET_ORDER,这样他得到的二维数组是,第一个是匹配的第一个字符串,第二个是匹配的第二个字符串,以此类推
所以你这题不加后面那个参数的话就是打印count($arr[0]),或者加参数PREG_SET_ORDER,打印出来就是6了。
$parrten = "/[a-zA-Z]+/";
$str ="中英文chinese english混合 this is a test这是一个测试";
preg_match_all($parrten,$str,$arr,PREG_SET_ORDER);
print_r($arr);
echo count($arr);
你既然把这个值存在session里了就不需要用隐藏域了。
至于说要插入两次,没看到代码我也不好说