月光飞燕 发表于 2008-10-17 11:47:26

[实例练习]指定PV值内指定链接转向例程【初级】

这是一个很简单的练习,但发现有很多朋友都想要这样的例程


这个例程指定了每3个PV浏览量,自动点击一次百度知道链接zhidao.baidu.com。就是说,你打开这个链接后,每刷新3次,你可以看到源代码里面就会执行一次隐藏的转向,当然我为了让大家看到转向,iframe设置了高和宽,而你可以设置成0


本例基于PHP5_utf-8,并且是面向对象。是一个简单的例程,我们会讲解此例程的全部原理,以帮助大家熟悉PHP执行过程。

首先来看我们的目录结构

index.php
PVtraffic/DisplayCode.php
PVtraffic/Setting.php
PVtraffic/PVLog.php

目录结构是非常简单的,index.php负责显示跳转代码,就是说,刷新操作和显示跳转代码等,都是index.php需要干的事情,当然这个index.php也可以变成任何支持php的页面,比如display.php等。

我们来看index.php的代码
<?php
require_once('PVtraffic/DisplayCode.php');
$DisplayClickCode = new DisplayClickCode;
$DisplayClickCode->DisplayCode();
?>

require_once表明了index首先包含了PVtraffic/DisplayCode.php这个页面
然后new一下,复活对象,这样这个对象才可以使用,我第7课讲的http://cnwebmasters.com/viewthread.php?tid=63025&extra=page%3D1

我们看PVtraffic/DisplayCode.php的源代码
一个类class DisplayClickCode

里面3个自定义函数,http://cnwebmasters.com/viewthread.php?tid=62985&extra=page%3D1
function DisplayCode()
function SavePageViews($ClickInterval)
WriteFile($file,$mode,$content)

所以,index.php源代码中,$DisplayClickCode = new DisplayClickCode;就是复活DisplayCode.php页面中class DisplayClickCode类,复活后,拿一个新的变量来命名$DisplayClickCode。注意,前面是变量,后面是类,虽然字母一样,但是意义不同。

复活后,我们就可以用类class DisplayClickCode里面的自定义函数了
index.php里面的第3行,我们就使用我们自定义的函数DisplayCode()

$DisplayClickCode->DisplayCode();

下面我来讲讲
PVtraffic/DisplayCode.php页面,这个页面有一个类包含3个自定义函数,作用分别是:

function DisplayCode() 显示跳转代码功能
function SavePageViews($ClickInterval) 储存PV值到文本数据库,带一个参数
function WriteFile($file,$mode,$content) 写或生成一个文件



好了,现在在说说全部页面的流程,这点很重要:

首先流量经过index.php

index.php载入页面PVtraffic/DisplayCode.php

并且index.php调用PVtraffic/DisplayCode.php页面的函数DisplayCode()

DisplayCode()这个函数载入页面Setting.php(我们的手动设置页面),得到我们要求的点击间隔和跳转代码

然后DisplayCode()这个函数再计算当前已经浏览的PV值是否与我们指定的PV值相等 $this->SavePageViews($ClickInterval) == $ClickInterval

如果相等,打印出跳转代码 echo $DisplayClickCode;


全部流程就完毕了,要注意的是:
SavePageViews($ClickInterval)这个函数是储存当前的PV值,它将当前PV的值储存到PVtraffic/PVLog.php这个页面,所以为什么我们要把这个页面设置成777可写。PVtraffic/PVLog.php也相当于我们的文本数据库,只是这里的数据库非那种数据库,这里的数据库只是一个非常简单的可写文本而已,但都储存数据,所以也叫数据库

WriteFile($file,$mode,$content)这个函数,是SavePageViews函数使用的,就是SavePageViews用来储存pv值,要将一些数据写到一个文件中,所以要用WriteFile函数来实现写入数据到文本的功能。

Setting.php包含了2个变量,分别设置了我们的时间间隔和跳转源代码。



大概的讲解就算结束了,更详细的函数内部讲解,请看源代码,写的很详细。

小提示:
$this-> 表示使用当前类的指定函数

public function 表示这个函数可以在类的外部被调用,就是说公开的可以大家用

private function 表示这个函数只能在它的当前类里面使用,外部调用不起,就是只能一个人用,别人不能用:)

$DisplayClickCode = new DisplayClickCode; 新建一个类实例,就是说DisplayClickCode是一套规则,我们这时开通一个新的项目$DisplayClickCode,而这个项目使用class DisplayClickCode规则。这个项目也叫一个对象。

$DisplayClickCode->DisplayCode(); 使用对象 $DisplayClickCode 指定的类中的函数 DisplayCode()



本例是初级例程,不包含geoip判断等
部分朋友想用于自动点击,这里写一个iframe的写法给大家
<iframe src="http://cnwebmasters.com/" width="0" height="0" frameborder="no" style="display:none;"></iframe>


2012年6月20日更新

无限可能 发表于 2008-10-17 15:55:55

楼主真是个月光宝盒啊:lol

无限可能 发表于 2008-10-17 17:04:27

如果改成5次PV点击一次的话 PVLog.php里的
<?php $pv=3; ?>也需要改成<?php $pv=5; ?>吧?

月光飞燕 发表于 2008-10-17 17:17:44

只改Setting.php,PVLog.php是记录日志的,这个不需要你改,PVLog.php里面的值表示当前浏览了几次

此情可待成追忆 发表于 2008-10-17 21:25:35

月光看来对php不是一般的精通啊

jefferychao 发表于 2008-10-27 01:57:44

终于可以站在门里面赞美了!谢谢啊

tnt4 发表于 2008-10-30 03:23:19

:D 很棒的教程,谢谢

shui1212 发表于 2008-10-30 12:25:33

不错!
但是如果转向指定链接为随机在N条链接中选择一条,代码又是如何实现?

445566 发表于 2008-10-30 12:56:02

靠.还有什么不能的呢.我日啊

月光飞燕 发表于 2008-10-30 17:45:22

shui1212 wrote on 2008-10-30 12:25 : http://cnwebmasters.com/images/common/back.gif
不错!
但是如果转向指定链接为随机在N条链接中选择一条,代码又是如何实现?


很简单,请在提问专区详细提出你的问题,我会源码奉上

445566 发表于 2008-11-3 07:25:11

呵呵.来个随机值的也不错的.这样点击率就有点浮动了

月光飞燕 发表于 2008-11-3 15:18:42

445566 wrote on 2008-11-3 07:25 : http://cnwebmasters.com/images/common/back.gif
呵呵.来个随机值的也不错的.这样点击率就有点浮动了

有需要请在提问专区详细提出你的问题

445566 发表于 2008-11-6 23:49:00

奇怪了.放到站上PVLog.php里的数根本没有变化.还是原来的啊.我自己都刷了很多遍了.

月光飞燕 发表于 2008-11-7 00:14:45

PVtraffic 777 , PVLog.php 777

看行不行

tangadmin 发表于 2008-11-7 14:49:08

先收藏起来:handshake

445566 发表于 2008-11-7 14:49:43

回忆月光 wrote on 2008-11-7 00:14 : http://cnwebmasters.com/images/common/back.gif
PVtraffic 777 , PVLog.php 777

看行不行
还不行.有试成功的吗

月光飞燕 发表于 2008-11-7 18:37:58

演示效果就是一个成功的例程,你的出错可能在于你的环境或者你的操作,或者你更改了代码但代码不符合规范

你可以直接PM我FTP信息帮你检查,完事后我通知你,你改了密码即可{s_060_m}

windmill-2008 发表于 2008-11-15 01:22:01

再次看过,真佩服月光。{s_130_m}

lester800 发表于 2012-4-13 21:17:38

mark一下 很有用

iemall 发表于 2012-9-12 16:06:56

完全看不懂啊。妹子能否讲的通俗一点啊。。:lol

xxq 发表于 2012-9-15 10:42:48

太繁杂了,我都晕了

我家小米 发表于 2013-5-27 16:28:21

太强悍咯!
页: [1]
查看完整版本: [实例练习]指定PV值内指定链接转向例程【初级】