仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 972|回复: 18
打印 上一主题 下一主题

[学习教程] PHP网站制作之两种统计以后在耳目数的办法

[复制链接]
透明 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:08:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
培训的第二阶段,开始了PHP语言语法结构和应用的学习。统计|在线|在耳目数   第一种办法:使用AltaVista搜刮引擎来完成

这类办法是反省与你的站点链接的数量。这里用AltaVista搜刮引擎来完成。在这里,咱们用以下搜刮引擎:
http://www.altavista.com/cgi-bin/query?kl=XX&pg=q&text=yes&q=link%3A&search=Search。
这是AltaVista的一个文本版本。如许可以节俭咱们大批的需求解析HTML的代码。接着,咱们利用rawurlencode()来处置咱们切实的URL包管Altavista可以准确地处置它。处置以下:

$url = "http://www.oso.com.cn";
$url_encoded = rawurlencode($url);
$url_to_check = "http://www.altavista.com/cgi-bin/query?
kl=XX&pg=q&text=yes&q=link%3A$url_encoded&search=Search";

  如许,咱们可以经由过程file()函数回取URL了。

$num_searched = file($url_to_check);

  如今咱们所取回的文件已寄存在数组$num_searched中。如今要在数组中查找咱们想要的文本"About (.*)
pages found. "。(.*)暗示在任何器材。并且,假如没有人链接咱们的URL,AltaVista将显示"AltaVista found
no document matching your query."。由于咱们想晓得几何团体正在与咱们的URL停止着链接,那段文本将被看
作0团体链接。

$url = "http://www.oso.com.cn";
$url_encoded = rawurlencode($url);
$url_to_check =
"http://www.altavista.com/cgi-bin/query?kl=XX&pg=q&text=yes&q=link%3A$url_encoded&search=Search";

$num_searched = file($url_to_check);
for ($i = 0; $i < count($num_searched); $i++) {
if(eregi( "About (.*) pages found.", $num_searched[$i])){
$total_links = eregi_replace( "

About (.*) pages found.", "1", $num_searched[$i]);
}
elseif(eregi( "AltaVista found no document matching your query.",$num_searched[$i])){
$total_links = "0";
}
}


  如许,咱们可以经由过程打印语句失掉咱们的查找了局了:
print("$total_links people are linking to $url");


第二种办法:使用MYSQL数据库以下是我转贴的一篇文章,来自于PHP中文用户,起体例是使用一时数据表处置以后毗连,详细内容以下:

***************************************************************
起首,用MySQL的东西建一个表:

CREATE TABLE ccol(
id integer not null auto_increment, #纪录的ID
ip char(15) not null, #会见者的IP地址
dtstamp datetime not null, #最初会见工夫
uri char(255), #会见者恳求的URI
primary key (id)
);

然后,写一段PHP代码:


/*
文件:ccol.php - ConCurrent OnLine statistics
目标:统计同时在线阅读的人数
作者:Hunte, hunte@phpuser.com
修正:2000-4-25
*/

$duration=1800;
require "db.php";
//包括DBSQL,概况可以参考我的另外一篇文章
$ccol=new dbSQL;
$ccol->connect();
$ccol->query("DELETE FROM ccol WHERE
(UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(dtstamp))>$duration");
//删除超越半小时的纪录
$ccol->query("SELECT * FROM ccol WHERE ip="$REMOTE_ADDR"");
//判别以后的IP是不是在该表中存在
if ($ccol->nf())//有?
{
$ccol->next_record();//下移找到的纪录数组的指针
$id=$ccol->f("id");
$ccol->query("UPDATE ccol SET dtstamp=now(), uri="$REQUEST_URI" WHERE id=$id");
//设置最初会见工夫和会见页面
}
else//没有
{
$ccol->query("INSERT INTO ccol VALUES (0, "$REMOTE_ADDR", now(), "$REQUEST_URI")");
}

$ccol->query("SELECT COUNT(*) AS ccol FROM ccol WHERE
(UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(dtstamp))<=$duration");
//找出在半个小时内的纪录,前面的WHERE子句无关紧要--超越工夫的已被删除
$ccol->next_record()
echo "在耳目数:", $ccol->f("ccol");
$ccol->free_result();

怎样用呢?在站点的每一个页面的下面挪用这个法式.


固然,这段代码还有改善的余地。例如,在每次挪用是都要删除半小时前的纪录,这是没有需要并且会下降效力。
可以一个甚么举措过更长的工夫再做,好比6小时。人人自各儿想一想吧,我就不说了。

这类办法只需稍做修正,就能够派上其余用途,如SESSION的办理、网站的会见统计剖析等。
  对我一点用处没有啊,我知道该怎么学,但是我想如何才能更快的学,一周速成,啊不,24小时速成那种,皮皮你有没?
柔情似水 该用户已被删除
沙发
发表于 2015-2-4 09:24:28 | 只看该作者
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
若天明 该用户已被删除
板凳
发表于 2015-2-4 21:03:38 | 只看该作者
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
深爱那片海 该用户已被删除
地板
发表于 2015-2-5 12:38:43 | 只看该作者
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
谁可相欹 该用户已被删除
5#
发表于 2015-2-7 04:23:51 | 只看该作者
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
精灵巫婆 该用户已被删除
6#
发表于 2015-2-16 01:24:24 | 只看该作者
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
7#
发表于 2015-3-4 21:22:56 | 只看该作者
多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
山那边是海 该用户已被删除
8#
发表于 2015-3-15 07:29:17 | 只看该作者
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
小魔女 该用户已被删除
9#
发表于 2015-3-17 04:07:50 | 只看该作者
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
愤怒的大鸟 该用户已被删除
10#
发表于 2015-4-7 17:44:37 | 只看该作者
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
灵魂腐蚀 该用户已被删除
11#
发表于 2015-4-14 13:40:12 | 只看该作者
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
金色的骷髅 该用户已被删除
12#
发表于 2015-4-15 19:51:37 | 只看该作者
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
蒙在股里 该用户已被删除
13#
发表于 2015-4-18 00:25:44 | 只看该作者
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
冷月葬花魂 该用户已被删除
14#
发表于 2015-4-20 20:26:44 | 只看该作者
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
小妖女 该用户已被删除
15#
发表于 2015-4-26 11:15:42 | 只看该作者
写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。
爱飞 该用户已被删除
16#
发表于 2015-4-27 08:06:05 | 只看该作者
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
乐观 该用户已被删除
17#
发表于 2015-5-1 02:10:19 | 只看该作者
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
第二个灵魂 该用户已被删除
18#
发表于 2015-5-4 00:50:41 | 只看该作者
爱上php,他也会爱上你。
飘灵儿 该用户已被删除
19#
发表于 2015-5-9 21:02:06 | 只看该作者
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-3 11:33

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表