這是一個很簡單的練習,但發現有很多朋友都想要這樣的例程
) _5 w+ b4 W! H# X
7 w( u/ L" o3 ^4 q& Z8 n' P
( g6 K, I( N6 J這個例程指定了每3個PV瀏覽量,自動點擊一次百度知道鏈接zhidao.baidu.com。就是說,你打開這個鏈接後,每刷新3次,你可以看到源代碼裡面就會執行一次隱藏的轉向,當然我為了讓大家看到轉向,iframe設置了高和寬,而你可以設置成0* _2 T- F7 A4 D( R
+ u$ ^8 b- { T, x' L
& M1 n# c. z. o5 ]3 W) _: P本例基於PHP5_utf-8,並且是面向對象。是一個簡單的例程,我們會講解此例程的全部原理,以幫助大家熟悉PHP執行過程。& H7 }6 [& C1 x6 s3 J/ c! u! }. u
8 x% _* ]- V' J/ U/ U i首先來看我們的目錄結構$ D5 x/ \4 |/ ^$ Z! A
( B( p2 g7 X, V/ s4 rindex.php: x7 C2 j/ X: B, r
PVtraffic/DisplayCode.php
- l0 ^- V; k( l3 T i- {PVtraffic/Setting.php
0 K1 F. T0 D& A# T8 VPVtraffic/PVLog.php* C6 v9 A/ j+ Q- s5 k6 E
5 u- o: P ]: Y4 `5 i2 P; `目錄結構是非常簡單的,index.php負責顯示跳轉代碼,就是說,刷新操作和顯示跳轉代碼等,都是index.php需要幹的事情,當然這個index.php也可以變成任何支持php的頁面,比如display.php等。9 q6 G; W( T, `+ i, F# I7 O
2 a- b& w" u$ f2 v
我們來看index.php的代碼
% D- O) Q6 a# u( j( _1 l* {<?php: B- C6 `+ G- y/ C* a! |
require_once('PVtraffic/DisplayCode.php');6 q6 n, J2 E5 a$ a" N
$DisplayClickCode = new DisplayClickCode;) _: H9 _4 n; E: M1 L6 B5 N
$DisplayClickCode->DisplayCode();
6 F# U8 F- l" D! x8 D1 {& t3 L?>+ Z: x$ e4 p0 f6 f) f. r8 _
+ ]: `# W3 W0 S$ Zrequire_once表明了index首先包含了PVtraffic/DisplayCode.php這個頁面
! z4 J N: [7 L0 O$ P1 s# g然後new一下,復活對象,這樣這個對象才可以使用,我第7課講的http://advertcn.com/viewthread.php?tid=63025&extra=page%3D1
( s: ?, t" I/ i, @- T% {0 E3 C$ D7 h
我們看PVtraffic/DisplayCode.php的源代碼
) z8 n E/ g6 U6 Y2 I# V* A一個類class DisplayClickCode
3 I1 _3 @$ L% C( M7 u& K: d8 _( _5 n" _ K4 j D8 P. y
裡面3個自定義函數,http://advertcn.com/viewthread.php?tid=62985&extra=page%3D1
; i: E* j1 L6 A" f+ y8 Hfunction DisplayCode()0 p$ U+ q7 ~* i% N4 ?. _
function SavePageViews($ClickInterval)
3 q o1 e7 n/ o& M( w$ D- x! mWriteFile($file,$mode,$content)
& M- e9 B. B5 U% f; f/ v1 y+ F$ H) S# h, j0 o' d
所以,index.php源代碼中,$DisplayClickCode = new DisplayClickCode;就是復活DisplayCode.php頁面中class DisplayClickCode類,復活後,拿一個新的變量來命名$DisplayClickCode。注意,前面是變量,後面是類,雖然字母一樣,但是意義不同。
/ |& N! \2 G- i* }6 K5 g: Z5 g9 ^8 e# f/ U# Z0 }0 w7 S8 {6 R9 u
復活後,我們就可以用類class DisplayClickCode裡面的自定義函數了$ c# r. P4 }2 R- g; P V" n* i1 H9 ~
index.php裡面的第3行,我們就使用我們自定義的函數DisplayCode()! w8 W8 F7 X- q- @: e
( Z7 _. {2 U4 k$DisplayClickCode->DisplayCode();$ |& b5 I' H8 v- a+ ?/ c8 t" v. L9 X# l
: X# ^, t! C$ @4 T/ \8 x
下面我來講講
_" D) p+ p) m+ d' Z8 qPVtraffic/DisplayCode.php頁面,這個頁面有一個類包含3個自定義函數,作用分別是:
" ~+ g: L2 `, H6 \
, V7 s9 ~! t' ^7 K/ @ Yfunction DisplayCode() 顯示跳轉代碼功能
, X9 O P7 k2 j6 a, N. Kfunction SavePageViews($ClickInterval) 儲存PV值到文本數據庫,帶一個參數
3 k$ w8 z( D/ p, w$ `. yfunction WriteFile($file,$mode,$content) 寫或生成一個文件+ e' O2 m1 N; n6 g8 W1 X' B
. e" \7 Z% V$ a6 |+ v
. @, M+ T# E- y
- C' |- m, P9 D3 q好了,現在在說說全部頁面的流程,這點很重要:
1 g* i4 D) p5 @2 g# M
* }" E- ^; b$ w- D: `2 |: F首先流量經過index.php
3 Z) w7 u) ?; }0 l: K( q+ \7 |6 |' W5 v
index.php載入頁面PVtraffic/DisplayCode.php
7 y. q. d& Y. e' F' j. t) z# O1 ?9 O8 ?
並且index.php調用PVtraffic/DisplayCode.php頁面的函數DisplayCode()
" W3 F" A9 C9 x) l& |1 a& i, ^5 V( x, E0 L4 B4 G
DisplayCode()這個函數載入頁面Setting.php(我們的手動設置頁面),得到我們要求的點擊間隔和跳轉代碼
* ?9 C, |& {& |$ V# e- e
% w( T: ], b! F; S8 j. Z然後DisplayCode()這個函數再計算當前已經瀏覽的PV值是否與我們指定的PV值相等 $this->SavePageViews($ClickInterval) == $ClickInterval) H0 |. U# A, D; w: v/ f i
- \2 o6 t( f6 O
如果相等,打印出跳轉代碼 echo $DisplayClickCode;
7 S& n" v% a* O: y- _3 g& R
, i" U- Q, H3 `( r1 D" V# M7 J5 v
, z% G: I9 V. x; s+ l- D5 _0 e全部流程就完畢了,要注意的是:
6 L+ |/ l3 }( |) P8 ISavePageViews($ClickInterval)這個函數是儲存當前的PV值,它將當前PV的值儲存到PVtraffic/PVLog.php這個頁面,所以為什麼我們要把這個頁面設置成777可寫。PVtraffic/PVLog.php也相當於我們的文本數據庫,只是這裡的數據庫非那種數據庫,這裡的數據庫只是一個非常簡單的可寫文本而已,但都儲存數據,所以也叫數據庫1 W$ \6 U* l, B, X4 _& C5 j0 C- w
, p8 Z) o1 s+ A
WriteFile($file,$mode,$content)這個函數,是SavePageViews函數使用的,就是SavePageViews用來儲存pv值,要將一些數據寫到一個文件中,所以要用WriteFile函數來實現寫入數據到文本的功能。- F) Z$ W' D5 `5 _, E+ }9 b
% l; @ J) h. e" ^; G& i. t
Setting.php包含了2個變量,分別設置了我們的時間間隔和跳轉源代碼。6 z" X$ o4 W& }
1 c( p1 S H: S" i0 ]2 r6 ]
% n. L7 X1 [1 ` h, T- M
( U& J: t9 y6 Y# o大概的講解就算結束了,更詳細的函數內部講解,請看源代碼,寫的很詳細。
* L4 F' L/ l) ` g. m' d2 U6 |
; k) A- f' G9 S9 i& h! c% \& K小提示:0 `5 d: l' t1 h) N4 Y
$this-> 表示使用當前類的指定函數6 [8 f$ {/ j( b; P
; r, \% S" E; |/ h9 z1 }4 B. x
public function 表示這個函數可以在類的外部被調用,就是說公開的可以大家用* p4 G. z2 H6 i# Z1 I" p
: u q/ ~) j% Q7 \" T4 K* [8 g% |private function 表示這個函數只能在它的當前類裡面使用,外部調用不起,就是只能一個人用,別人不能用:)) l* F% U. i( q( L& c
3 ?: Y' _: J+ M1 S$DisplayClickCode = new DisplayClickCode; 新建一個類實例,就是說DisplayClickCode是一套規則,我們這時開通一個新的項目$DisplayClickCode,而這個項目使用class DisplayClickCode規則。這個項目也叫一個對象。
7 O; H' R0 N; D1 o% d; q( l4 g: e: n$ f0 Y, X( F" G
$DisplayClickCode->DisplayCode(); 使用對像 $DisplayClickCode 指定的類中的函數 DisplayCode()
4 A/ A# p) v. j( ?4 E# |4 T" d+ h$ o
) G$ E- L6 k- j1 X" ~+ G# l
' G& y, R' y% }9 }本例是初級例程,不包含geoip判斷等
! x- }$ l5 ~5 r* }0 ~部分朋友想用於自動點擊,這裡寫一個iframe的寫法給大家
9 p; j$ _' {; B: { T" W- <iframe src="http://advertcn.com/" width="0" height="0" frameborder="no" style="display:none;"></iframe>
複製代碼
3 K2 y7 P$ T! i1 X
8 u* L$ K! x4 m4 H3 l3 W( g; g' ^ C* ^; f; Q2 q, z
2012年6月20日更新8 H+ }& Q/ w$ F: \! W
指定PV值内指定链接转向例程_PHP5_UTF-8.zip
(2.85 KB, 下載次數: 10)
# i* M( O; X* w/ r |
評分
-
查看全部評分
|