這是一個很簡單的練習,但發現有很多朋友都想要這樣的例程
- 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$ sindex.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- <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
|
評分
-
查看全部評分
|