EEfaq论坛-赚客自留地

 找回密码
 免费注册
查看: 5186|回复: 21

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

  [复制链接]
发表于 2008-10-17 11:47:26 | 显示全部楼层 |阅读模式
这是一个很简单的练习,但发现有很多朋友都想要这样的例程


这个例程指定了每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://advertcn.com/viewthread.php?tid=63025&extra=page%3D1

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

里面3个自定义函数,http://advertcn.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的写法给大家
  1. <iframe src="http://advertcn.com/" width="0" height="0" frameborder="no" style="display:none;"></iframe>
复制代码



2012年6月20日更新
指定PV值内指定链接转向例程_PHP5_UTF-8.zip (2.85 KB, 下载次数: 10)

评分

参与人数 3 +45 收起 理由
无终狼 + 10 支持斑斑
无限可能 + 15 精品文章
陈汤 + 20 原创内容

查看全部评分

发表于 2008-10-17 15:55:55 | 显示全部楼层
楼主真是个月光宝盒啊
回复 支持 反对

使用道具 举报

发表于 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不是一般的精通啊
回复 支持 反对

使用道具 举报

发表于 2008-10-27 01:57:44 | 显示全部楼层
终于可以站在门里面赞美了!谢谢啊
回复 支持 反对

使用道具 举报

发表于 2008-10-30 03:23:19 | 显示全部楼层
很棒的教程,谢谢
回复 支持 反对

使用道具 举报

发表于 2008-10-30 12:25:33 | 显示全部楼层
不错!
但是如果转向指定链接为随机在N条链接中选择一条,代码又是如何实现?
回复 支持 反对

使用道具 举报

发表于 2008-10-30 12:56:02 | 显示全部楼层
靠.还有什么不能的呢.我日啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-30 17:45:22 | 显示全部楼层



很简单,请在提问专区详细提出你的问题,我会源码奉上
回复 支持 反对

使用道具 举报

发表于 2008-11-3 07:25:11 | 显示全部楼层
呵呵.来个随机值的也不错的.这样点击率就有点浮动了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-3 15:18:42 | 显示全部楼层
445566 wrote on 2008-11-3 07:25 :
呵呵.来个随机值的也不错的.这样点击率就有点浮动了


有需要请在提问专区详细提出你的问题
回复 支持 反对

使用道具 举报

发表于 2008-11-6 23:49:00 | 显示全部楼层
奇怪了.放到站上PVLog.php里的数根本没有变化.还是原来的啊.我自己都刷了很多遍了.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-7 00:14:45 | 显示全部楼层
PVtraffic 777 , PVLog.php 777

看行不行
回复 支持 反对

使用道具 举报

发表于 2008-11-7 14:49:08 | 显示全部楼层
先收藏起来
回复 支持 反对

使用道具 举报

发表于 2008-11-7 14:49:43 | 显示全部楼层
回忆月光 wrote on 2008-11-7 00:14 :
PVtraffic 777 , PVLog.php 777

看行不行

还不行.有试成功的吗
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-7 18:37:58 | 显示全部楼层
演示效果就是一个成功的例程,你的出错可能在于你的环境或者你的操作,或者你更改了代码但代码不符合规范

你可以直接PM我FTP信息帮你检查,完事后我通知你,你改了密码即可
回复 支持 反对

使用道具 举报

发表于 2008-11-15 01:22:01 | 显示全部楼层
再次看过,真佩服月光。
回复 支持 反对

使用道具 举报

发表于 2012-4-13 21:17:38 | 显示全部楼层
mark一下 很有用
回复 支持 反对

使用道具 举报

发表于 2012-9-12 16:06:56 | 显示全部楼层
完全看不懂啊。妹子能否讲的通俗一点啊。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

QQ|联系我们|Archiver|手机版|小黑屋|EEfaq论坛

GMT+8, 2024-11-21 21:33

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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