过期域名预定抢注

 找回密碼
 免费注册

[實例練習]指定PV值內指定鏈接轉向例程【初級】

 火.. [複製鏈接]
發表於 2008-10-17 11:47:26 | 顯示全部樓層 |閱讀模式
這是一個很簡單的練習,但發現有很多朋友都想要這樣的例程
- V! x: E0 R" h4 D8 z0 H8 ?# t; y4 E3 d. E# ]. _( m
5 v; G0 f' R2 E) d$ f) Z
這個例程指定了每3個PV瀏覽量,自動點擊一次百度知道鏈接zhidao.baidu.com就是說,你打開這個鏈接後,每刷新3次,你可以看到源代碼裡面就會執行一次隱藏的轉向,當然我為了讓大家看到轉向,iframe設置了高和寬,而你可以設置成0
, l& B2 a6 A$ V4 T7 T
& p: O7 h/ z; W1 K6 }4 D2 S! g( j% m; L7 o* |& x" a
本例基於PHP5_utf-8,並且是面向對象。是一個簡單的例程,我們會講解此例程的全部原理,以幫助大家熟悉PHP執行過程。: h" s/ ~, s2 `* ]! X

5 z1 P' W! v6 [' H/ e8 F首先來看我們的目錄結構+ r! h4 j0 x1 l( }, ?- y  I
9 `1 f: E( x0 l$ C: e7 q9 {
index.php0 R* Q8 X4 J0 M( D# A
PVtraffic/DisplayCode.php* B: v! J" C- O( l. K
PVtraffic/Setting.php' j& Q2 |6 y2 O- F4 C" @
PVtraffic/PVLog.php. ]" p! N2 j: g

/ Z- p. J$ r8 ^9 _; x7 t- b目錄結構是非常簡單的,index.php負責顯示跳轉代碼,就是說,刷新操作和顯示跳轉代碼等,都是index.php需要幹的事情,當然這個index.php也可以變成任何支持php的頁面,比如display.php等。; X5 z3 W6 I6 }
  T+ L: B2 R. E9 B% ]
我們來看index.php的代碼: j3 Q1 ?* V4 D. N4 G6 |
<?php: N7 P6 q+ N9 @# l7 y
require_once('PVtraffic/DisplayCode.php');
& b9 ~* i+ o; a  E+ P* N. ?8 q" V$DisplayClickCode = new DisplayClickCode;- O' o: m* r/ r
$DisplayClickCode->DisplayCode();: X1 a1 C$ p% A3 P7 p
?>
4 o! p+ n8 I* |7 ]% W+ b( g4 }
8 j5 N0 I2 H  B9 k" ^. y5 L. Frequire_once表明了index首先包含了PVtraffic/DisplayCode.php這個頁面+ _# J5 k: ]3 }  d7 N
然後new一下,復活對象,這樣這個對象才可以使用,我第7課講的http://advertcn.com/viewthread.php?tid=63025&extra=page%3D1
* B  c. W; l# s$ w% _9 C( p
% w. J! f; y& @: E! _我們看PVtraffic/DisplayCode.php的源代碼
# X+ G8 _" h8 P! H一個類class DisplayClickCode
* {1 Z6 d3 W( |& ~& C: \  i, y1 r' Z* R  ~! D5 `
裡面3個自定義函數,http://advertcn.com/viewthread.php?tid=62985&extra=page%3D1
: Z) ]& g! b* h  {/ f+ }+ tfunction DisplayCode()9 u6 j  S& C, w2 u# b
function SavePageViews($ClickInterval)  p6 k8 x) D4 h& l1 B+ a  x
WriteFile($file,$mode,$content)
+ K. }- ~' B7 n7 n) C7 I$ P; {
+ y' E( j; k6 @: _% T8 C0 l所以,index.php源代碼中,$DisplayClickCode = new DisplayClickCode;就是復活DisplayCode.php頁面中class DisplayClickCode類,復活後,拿一個新的變量來命名$DisplayClickCode。注意,前面是變量,後面是類,雖然字母一樣,但是意義不同。, L9 H' P* ^" y6 E

4 s& Q/ z. S( H8 L& j復活後,我們就可以用類class DisplayClickCode裡面的自定義函數了
8 E9 U  o" D  W+ G* k6 P$ s
index.php裡面的第3行,我們就使用我們自定義的函數DisplayCode()
/ m3 M3 _2 v0 i" I5 R3 M* [) Q) _' G7 Q, |, u. r
$DisplayClickCode->DisplayCode();
# q3 ^2 j: b* }& ?. v3 P) ]/ O$ x+ c3 A
下面我來講講
* M% G. K% Y6 Y6 y$ z* ?9 `PVtraffic/DisplayCode.php頁面,這個頁面有一個類包含3個自定義函數,作用分別是:
) c" U: ?  h5 a6 ]
  [) w5 A' {* l; l# Z2 s. W2 M9 w) {function DisplayCode() 顯示跳轉代碼功能$ F  p8 x& J! H, A8 Y2 T
function SavePageViews($ClickInterval) 儲存PV值到文本數據庫,帶一個參數2 J- p% Z1 I* N: T4 h
function WriteFile($file,$mode,$content) 寫或生成一個文件1 M0 D3 x# D" m1 S: t* M2 y0 y
8 R2 F& _0 \. D& L' J& _
' G  Q5 }7 x! E6 u3 k) Z

+ _( |, V/ h2 f# h6 @& b! B好了,現在在說說全部頁面的流程,這點很重要:9 N1 J) |  Z7 A/ i* V. b0 U7 M

  D' ^8 v! l3 a$ i4 x5 v3 L" J首先流量經過index.php
* N$ {+ V' u# S& s6 ^; x6 F
# r. Z. u2 x! {0 t& I& @% g
index.php載入頁面PVtraffic/DisplayCode.php: h' W) G  b, ?, z( g+ ?
7 Y8 L; }% z% y! d# @3 _* X0 c
並且index.php調用PVtraffic/DisplayCode.php頁面的函數DisplayCode()
, k2 B% Z, G( @) @
  E7 P+ T  \1 i. @& f3 H
DisplayCode()這個函數載入頁面Setting.php(我們的手動設置頁面),得到我們要求的點擊間隔和跳轉代碼
. R" e( V5 w: a- b+ g1 X* [5 y1 w$ P; }* y
然後DisplayCode()這個函數再計算當前已經瀏覽的PV值是否與我們指定的PV值相等 $this->SavePageViews($ClickInterval) == $ClickInterval
' g1 o0 u$ l/ @5 r( ~9 r  o# K  c3 k8 E0 J
如果相等,打印出跳轉代碼 echo $DisplayClickCode;
/ s) J! p+ s! Y3 K! a1 d
" I% V2 j- ?$ F% P

9 R$ c5 J7 x/ r0 {. d+ W# G! Q1 }; T# e全部流程就完畢了,要注意的是:
; I6 Z5 ~; }) Y( iSavePageViews($ClickInterval)這個函數是儲存當前的PV值,它將當前PV的值儲存到PVtraffic/PVLog.php這個頁面,所以為什麼我們要把這個頁面設置成777可寫PVtraffic/PVLog.php也相當於我們的文本數據庫,只是這裡的數據庫非那種數據庫,這裡的數據庫只是一個非常簡單的可寫文本而已,但都儲存數據,所以也叫數據庫
. D7 Q+ ~! z: H, D3 i4 O, R) ~* v. z3 I  e$ p5 C
WriteFile($file,$mode,$content)這個函數,是SavePageViews函數使用的,就是SavePageViews用來儲存pv值,要將一些數據寫到一個文件中,所以要用WriteFile函數來實現寫入數據到文本的功能- t9 q8 r4 F5 i7 u
2 K% y# \% E0 Z/ T$ F
Setting.php包含了2個變量,分別設置了我們的時間間隔和跳轉源代碼+ Q% a5 x' |+ n1 F( D
/ E! c1 }6 n* N2 p& V/ I

6 _6 Q# ?6 ]0 F
! T6 x2 d% [. e0 Q大概的講解就算結束了,更詳細的函數內部講解,請看源代碼,寫的很詳細。
; ~: Q% ^( K3 C2 y1 _4 Y& r
8 e: M- }2 `6 ^  c小提示:$ u; S+ C0 f3 T/ Q$ K+ V
$this-> 表示使用當前類的指定函數" T. t, y! x! t0 L/ B8 u" X/ b

$ W3 W/ a3 G  w1 Q; g( npublic function 表示這個函數可以在類的外部被調用,就是說公開的可以大家用
+ l3 k  y! z3 ?
  @' Z6 `6 `6 p% v" z) cprivate function 表示這個函數只能在它的當前類裡面使用,外部調用不起,就是只能一個人用,別人不能用:)( q& }. p/ r( Z$ Z

; O- [/ v) H0 D! c' B8 V+ p$DisplayClickCode = new DisplayClickCode; 新建一個類實例,就是說DisplayClickCode是一套規則,我們這時開通一個新的項目$DisplayClickCode,而這個項目使用class DisplayClickCode規則。這個項目也叫一個對象。
, {+ n+ ]  ?5 {  y9 @4 n0 o8 }6 ~
* ^' g' l3 h) w$DisplayClickCode->DisplayCode(); 使用對像 $DisplayClickCode 指定的類中的函數 DisplayCode()4 q: X  h2 g; W1 S, i

& N  |4 ~# m* U- l  K# ]7 Z! ^0 _7 a: A! c5 `3 u. Y

0 b6 B  J) P/ |' U本例是初級例程,不包含geoip判斷等
/ S& ], K# s( f+ G( ?  k部分朋友想用於自動點擊,這裡寫一個iframe的寫法給大家
7 C  y+ ^- ~" a! a+ j6 H/ g
  1. <iframe src="http://advertcn.com/" width="0" height="0" frameborder="no" style="display:none;"></iframe>
複製代碼
& |6 I8 M$ e2 S' [( i

& o3 F; x' X' X5 X/ Q: G& \  N1 }, l: z) J5 l! A" S
2012年6月20日更新
% O1 {0 B' ^$ [% c% z 指定PV值内指定链接转向例程_PHP5_UTF-8.zip (2.85 KB, 下載次數: 10) 6 e- e0 c4 r% v

評分

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

查看全部評分

發表於 2008-10-17 15:55:55 | 顯示全部樓層
樓主真是個月光寶盒啊
回復 给力 爆菊

使用道具 舉報

發表於 2008-10-17 17:04:27 | 顯示全部樓層
如果改成5次PV點擊一次的話 PVLog.php裡的( _: p1 m/ n7 F
<?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 | 顯示全部樓層
不錯!
# z: K7 ?5 F% y( H但是如果轉向指定鏈接為隨機在N條鏈接中選擇一條,代碼又是如何實現?
回復 给力 爆菊

使用道具 舉報

發表於 2008-10-30 12:56:02 | 顯示全部樓層
靠.還有什麼不能的呢.我日啊
回復 给力 爆菊

使用道具 舉報

 樓主| 發表於 2008-10-30 17:45:22 | 顯示全部樓層
shui1212 wrote on 2008-10-30 12:25 :
2 \' L  Q( c$ f! }4 Y不錯!
5 l$ n: _1 u$ w) k3 d但是如果轉向指定鏈接為隨機在N條鏈接中選擇一條,代碼又是如何實現?

1 i4 b" C- l  I; l1 B9 m5 j1 |) ?3 ]
. f* a/ S0 B+ u- n* b
很簡單,請在提問專區詳細提出你的問題,我會源碼奉上
回復 给力 爆菊

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 免费注册

本版積分規則

點基

GMT+8, 2026-6-8 10:38

By DZ X3.5

小黑屋

快速回復 返回頂部 返回列表