這是一個很簡單的練習,但發現有很多朋友都想要這樣的例程
( X; W# G9 ?# ~, L* ^# R) p# K7 S5 l) Z* l2 ~4 R
* [0 L7 t7 v9 b- c0 X0 N
這個例程指定了每3個PV瀏覽量,自動點擊一次百度知道鏈接zhidao.baidu.com。就是說,你打開這個鏈接後,每刷新3次,你可以看到源代碼裡面就會執行一次隱藏的轉向,當然我為了讓大家看到轉向,iframe設置了高和寬,而你可以設置成0/ B7 t! W) c- v) X% B
, J0 A8 n) @( P/ j9 I% `4 }1 d+ A- J u! U l& O
本例基於PHP5_utf-8,並且是面向對象。是一個簡單的例程,我們會講解此例程的全部原理,以幫助大家熟悉PHP執行過程。8 a z r" ~$ Y, C) Z" C# Y
% ]* |2 @, d' b1 W7 z) x8 I; Y首先來看我們的目錄結構
# c# C. X; S% t5 K. i" l2 J8 R2 h1 |, F; a8 H2 W
index.php6 ]3 O3 X7 ~, o8 U! j- z
PVtraffic/DisplayCode.php: k5 \4 M0 v' a3 U: T% G n
PVtraffic/Setting.php
( R/ {% B: b( U y& Q7 APVtraffic/PVLog.php: a2 z4 o! K* T; n
3 R/ Y4 m: t/ v7 n8 I' V
目錄結構是非常簡單的,index.php負責顯示跳轉代碼,就是說,刷新操作和顯示跳轉代碼等,都是index.php需要幹的事情,當然這個index.php也可以變成任何支持php的頁面,比如display.php等。
# ]: O0 O; x) Z/ ]
6 ^& f" ~& j5 `5 T我們來看index.php的代碼2 P8 Q. b1 `1 v u
<?php
* C( d# w) e/ D% Brequire_once('PVtraffic/DisplayCode.php');7 _0 c u: M% O+ m% e
$DisplayClickCode = new DisplayClickCode;! [0 V( [ R0 b/ q
$DisplayClickCode->DisplayCode();0 c1 o, E; y* c6 P
?>
7 V" U" x0 k# Q# D" W
1 a( B2 V7 K! q% g" xrequire_once表明了index首先包含了PVtraffic/DisplayCode.php這個頁面; T7 S' V2 M0 c' C, C5 Y
然後new一下,復活對象,這樣這個對象才可以使用,我第7課講的http://advertcn.com/viewthread.php?tid=63025&extra=page%3D1$ L9 g+ F7 \4 o2 }+ O! v3 m
) i" G! K* p4 }8 @ |7 ^我們看PVtraffic/DisplayCode.php的源代碼- o: U0 h4 B0 r! L( I
一個類class DisplayClickCode( |1 i7 ?; ?' ~9 E& v( E
/ K- E A5 I- Y4 r w* |
裡面3個自定義函數,http://advertcn.com/viewthread.php?tid=62985&extra=page%3D1: F" ~: x& v; c
function DisplayCode()
! d$ v9 C7 Q/ t g+ U4 m! n# R2 Nfunction SavePageViews($ClickInterval)
8 q% X; t4 E: L0 i0 z: m$ b6 kWriteFile($file,$mode,$content)/ z7 ^2 u' W7 v- o& C" l! V/ U
6 t5 O- f) _5 S9 @" ]0 Q所以,index.php源代碼中,$DisplayClickCode = new DisplayClickCode;就是復活DisplayCode.php頁面中class DisplayClickCode類,復活後,拿一個新的變量來命名$DisplayClickCode。注意,前面是變量,後面是類,雖然字母一樣,但是意義不同。
' T1 H7 j0 |$ }7 H! G8 J' i9 G
' h" R j- K a( K( o復活後,我們就可以用類class DisplayClickCode裡面的自定義函數了
9 A9 B3 K/ g) Tindex.php裡面的第3行,我們就使用我們自定義的函數DisplayCode()2 I# G& C! i7 @5 _) q, f
7 F# G. {6 I+ V' O i$DisplayClickCode->DisplayCode();
. A. f8 n9 u3 N y! }4 D# @
- r% e! w6 K7 J6 i' q2 c下面我來講講1 x7 f. f, P- M+ j2 C1 c K
PVtraffic/DisplayCode.php頁面,這個頁面有一個類包含3個自定義函數,作用分別是:' ~& k: I: D: |
7 j& o! V& @# T5 U! Y2 Y8 Rfunction DisplayCode() 顯示跳轉代碼功能
; U+ L% g. y' T4 w2 Z6 q* ?function SavePageViews($ClickInterval) 儲存PV值到文本數據庫,帶一個參數8 Y# z( \: W9 B
function WriteFile($file,$mode,$content) 寫或生成一個文件& b, m% b# @ x: v
3 Z' ]% L. W5 M$ a5 Q- W
4 s P1 a) }9 W+ M8 C7 }" ~" ^! y/ X, h3 [
好了,現在在說說全部頁面的流程,這點很重要:1 w5 U( E* W. L
, m6 z# G* Z" X" p' R
首先流量經過index.php9 [5 {5 N) b- l
" M% M3 ^, f; J: B8 M* w" Iindex.php載入頁面PVtraffic/DisplayCode.php
7 U( G6 h, @% | \9 G/ ?: w
) {. \! Q' G; h8 X$ @& E) A並且index.php調用PVtraffic/DisplayCode.php頁面的函數DisplayCode()& m Y* z" u1 f# s% W1 @: M
# ^; r+ c9 f+ ~; \( r4 n
DisplayCode()這個函數載入頁面Setting.php(我們的手動設置頁面),得到我們要求的點擊間隔和跳轉代碼
# g. f+ Z0 X' h
, ^* \4 h+ G; U然後DisplayCode()這個函數再計算當前已經瀏覽的PV值是否與我們指定的PV值相等 $this->SavePageViews($ClickInterval) == $ClickInterval
+ z" ]3 |7 \$ v4 |! U9 f. T* g8 Z: z9 g; f+ s9 w. `* F, U
如果相等,打印出跳轉代碼 echo $DisplayClickCode;+ l! _' ?% d& _; ^- g
: C u+ t* t7 K3 ?( `
; ^; H2 ^- X' |5 L- U8 R% U
全部流程就完畢了,要注意的是:
; o& a+ x# t4 s# h1 h6 X4 J8 fSavePageViews($ClickInterval)這個函數是儲存當前的PV值,它將當前PV的值儲存到PVtraffic/PVLog.php這個頁面,所以為什麼我們要把這個頁面設置成777可寫。PVtraffic/PVLog.php也相當於我們的文本數據庫,只是這裡的數據庫非那種數據庫,這裡的數據庫只是一個非常簡單的可寫文本而已,但都儲存數據,所以也叫數據庫' K- n. }4 F; @* M; B- T$ R
& s' P- S' k* C
WriteFile($file,$mode,$content)這個函數,是SavePageViews函數使用的,就是SavePageViews用來儲存pv值,要將一些數據寫到一個文件中,所以要用WriteFile函數來實現寫入數據到文本的功能。
0 x3 m9 ^% E/ R3 H5 f3 x9 ~# I g* c$ `! w, ?& g
Setting.php包含了2個變量,分別設置了我們的時間間隔和跳轉源代碼。
! u) k' [- }7 A) K; N7 u' o2 Z) i5 s+ `2 b: a Y, t
" F3 L, X- C6 E3 @( k! V9 U
/ }( ^( t# m1 m9 t: q大概的講解就算結束了,更詳細的函數內部講解,請看源代碼,寫的很詳細。( G" F' a; Q2 u7 t% r
]5 P5 B' w7 B0 ?; h
小提示:* \- d8 f/ _# m
$this-> 表示使用當前類的指定函數1 p5 T8 x( _$ L& E0 Z
; @/ _8 h! b; L4 ~1 }# I: q
public function 表示這個函數可以在類的外部被調用,就是說公開的可以大家用
* i1 W' h9 P* h6 X( ~
9 y. |* q2 j2 Y: s! E- Pprivate function 表示這個函數只能在它的當前類裡面使用,外部調用不起,就是只能一個人用,別人不能用:)
/ J9 H6 N$ c4 a" v( R# Q
3 H8 {1 y5 k, M; ^/ f- ~$DisplayClickCode = new DisplayClickCode; 新建一個類實例,就是說DisplayClickCode是一套規則,我們這時開通一個新的項目$DisplayClickCode,而這個項目使用class DisplayClickCode規則。這個項目也叫一個對象。
. n1 S" V# u, f+ w1 E! z: E/ R- C S! `4 j
$DisplayClickCode->DisplayCode(); 使用對像 $DisplayClickCode 指定的類中的函數 DisplayCode()
r7 e. M( L( N% X/ \* ~7 q1 N$ V1 S& d% c. l2 d& Y2 O g
\% Q! ~2 K) I+ u2 \1 h! i$ G2 B. A4 t# q" A4 T) G; `3 k
本例是初級例程,不包含geoip判斷等! l' h0 Z; s, _) H x
部分朋友想用於自動點擊,這裡寫一個iframe的寫法給大家3 O6 O3 l2 [, a3 A# B, X
- <iframe src="http://advertcn.com/" width="0" height="0" frameborder="no" style="display:none;"></iframe>
複製代碼 1 _, I6 m& Z& |1 X: K0 E
! n, L7 H% {6 S9 Y0 U0 \( Y
: v" a b* F t1 ]9 M) D9 n/ i2012年6月20日更新
" B0 d& S9 E6 B) |: [% `# i: j
指定PV值内指定链接转向例程_PHP5_UTF-8.zip
(2.85 KB, 下載次數: 10)
5 f1 d+ S! m: x: A; s, n |
評分
-
查看全部評分
|