這是一個很簡單的練習,但發現有很多朋友都想要這樣的例程5 _; a* i0 x N% c& l; Y
+ |9 ^4 w8 E" q( o4 O! h9 c
0 |' J; `4 M% M, s這個例程指定了每3個PV瀏覽量,自動點擊一次百度知道鏈接zhidao.baidu.com。就是說,你打開這個鏈接後,每刷新3次,你可以看到源代碼裡面就會執行一次隱藏的轉向,當然我為了讓大家看到轉向,iframe設置了高和寬,而你可以設置成03 y" ]0 j+ X7 F0 q, l
# c5 M0 K, O1 A' K
0 A, G$ E% H0 \9 ^
本例基於PHP5_utf-8,並且是面向對象。是一個簡單的例程,我們會講解此例程的全部原理,以幫助大家熟悉PHP執行過程。) @3 u* V/ t% e
; B9 J0 j+ G/ |9 m6 T. ?首先來看我們的目錄結構
) I. v6 P! g0 z9 y. f* i/ ~5 m6 Y2 E% Y- V
index.php0 h8 d1 G" y9 d
PVtraffic/DisplayCode.php. b# o F( C& M" H& ?
PVtraffic/Setting.php$ W" S' ]6 G6 y* D1 K, s, x G, @! K
PVtraffic/PVLog.php
( _* ^. Q* h0 R% S/ g, G. o7 ~4 \* g3 C& m' _
目錄結構是非常簡單的,index.php負責顯示跳轉代碼,就是說,刷新操作和顯示跳轉代碼等,都是index.php需要幹的事情,當然這個index.php也可以變成任何支持php的頁面,比如display.php等。, i/ v( l# H! |; @
, `) ]& p {- x2 a- U+ f9 c
我們來看index.php的代碼
$ b7 d& g8 ?( [- F$ c<?php
+ g# \/ H5 [0 _: X Srequire_once('PVtraffic/DisplayCode.php');2 L6 Y0 n- Z8 l* ]7 M0 i" L
$DisplayClickCode = new DisplayClickCode;
! ^( A" Q. D/ U* Z% i$DisplayClickCode->DisplayCode();+ t" q* F$ Y+ O) i% j8 M0 u8 F
?>7 i% G6 t. U8 j0 D( h
6 M- X3 W5 s2 @8 [" d1 e) u n
require_once表明了index首先包含了PVtraffic/DisplayCode.php這個頁面# J9 ^, W" F3 b+ W, [+ N
然後new一下,復活對象,這樣這個對象才可以使用,我第7課講的http://advertcn.com/viewthread.php?tid=63025&extra=page%3D1
" T5 j! _9 I5 n, R2 i+ O
. ?7 ~6 L) W7 B我們看PVtraffic/DisplayCode.php的源代碼: n# j& T5 V5 }3 {) l5 I0 L8 H
一個類class DisplayClickCode6 h3 ^8 Y8 Y0 u7 H0 J( A
+ g* H& x2 \/ v e' G* ?
裡面3個自定義函數,http://advertcn.com/viewthread.php?tid=62985&extra=page%3D1
/ i4 L- Q+ T1 b& y$ bfunction DisplayCode()6 ]: j+ D P3 C8 V w0 N5 f
function SavePageViews($ClickInterval) ]3 f% t- p4 k5 v+ n1 l& F
WriteFile($file,$mode,$content)
4 b# {0 U w' C0 }; l$ |5 E# {( @! [$ P1 Z5 c0 d+ m
所以,index.php源代碼中,$DisplayClickCode = new DisplayClickCode;就是復活DisplayCode.php頁面中class DisplayClickCode類,復活後,拿一個新的變量來命名$DisplayClickCode。注意,前面是變量,後面是類,雖然字母一樣,但是意義不同。* c6 L% c2 u* P0 _
; j, {% p2 v/ n
復活後,我們就可以用類class DisplayClickCode裡面的自定義函數了* I, v O8 b- q. v% A
index.php裡面的第3行,我們就使用我們自定義的函數DisplayCode()
7 Y4 }: v0 s, O" m# J, y" g$ |2 |) V
$DisplayClickCode->DisplayCode();
8 P4 B' G9 |0 `, p* j" s# ^1 @
6 q4 d b3 ?2 G/ m L/ v4 f* v下面我來講講: B- R- V4 R, m; q9 @
PVtraffic/DisplayCode.php頁面,這個頁面有一個類包含3個自定義函數,作用分別是:
5 R) f$ A4 }* [# z$ b" l
# L4 t" o2 t4 @9 c) m% ~function DisplayCode() 顯示跳轉代碼功能1 {# p' f2 W. }& O
function SavePageViews($ClickInterval) 儲存PV值到文本數據庫,帶一個參數+ j* L- o% V+ A7 W2 N6 y
function WriteFile($file,$mode,$content) 寫或生成一個文件! d$ _% X! |& `. g! A; F1 ~
% V6 D8 _! H2 d" W
7 W: _* B5 y! Y( \$ @ ?
; G9 }8 w5 `6 o: J; R# f好了,現在在說說全部頁面的流程,這點很重要:& z$ k% {- Q# m4 l
0 i" U! e+ y+ i2 [8 I; \首先流量經過index.php
: ]+ \! ?( G3 K& {' F7 k
" w" b( E2 S! A7 Z4 ~/ n* X2 Oindex.php載入頁面PVtraffic/DisplayCode.php6 @3 f i7 o( P9 J6 u
^3 f/ g) k$ _$ e0 d8 l
並且index.php調用PVtraffic/DisplayCode.php頁面的函數DisplayCode()
% ~) N# e0 h1 d2 I
& R# v# S3 A/ c/ N7 P1 _# EDisplayCode()這個函數載入頁面Setting.php(我們的手動設置頁面),得到我們要求的點擊間隔和跳轉代碼, f# G9 ]1 c6 X: g
; F# k6 ~6 {- K# l; n9 }: L, y5 k+ L8 ?
然後DisplayCode()這個函數再計算當前已經瀏覽的PV值是否與我們指定的PV值相等 $this->SavePageViews($ClickInterval) == $ClickInterval
! E/ `) r9 v. {8 O( o" z3 o4 V+ W4 w- A5 O# O
如果相等,打印出跳轉代碼 echo $DisplayClickCode;
: ^0 C7 ?, P X/ t- [6 J! p
. L4 [( c0 A9 z! U+ i4 }( i) b8 ~/ k& _+ x% M
全部流程就完畢了,要注意的是:; X4 O( @6 q$ c3 y' D* V
SavePageViews($ClickInterval)這個函數是儲存當前的PV值,它將當前PV的值儲存到PVtraffic/PVLog.php這個頁面,所以為什麼我們要把這個頁面設置成777可寫。PVtraffic/PVLog.php也相當於我們的文本數據庫,只是這裡的數據庫非那種數據庫,這裡的數據庫只是一個非常簡單的可寫文本而已,但都儲存數據,所以也叫數據庫, N8 R/ ]$ e: I) z5 m8 o6 [* @ _$ x
" _* j Y; q* ]; NWriteFile($file,$mode,$content)這個函數,是SavePageViews函數使用的,就是SavePageViews用來儲存pv值,要將一些數據寫到一個文件中,所以要用WriteFile函數來實現寫入數據到文本的功能。6 z) ]% ] y/ e8 {/ v" s0 t
' E: M3 L3 d7 p/ j5 Y
Setting.php包含了2個變量,分別設置了我們的時間間隔和跳轉源代碼。
: _" {; G( @, a& ]$ ?6 T9 j7 X1 i6 D3 n3 A+ {; z
8 E) g# N) m) v% F) I& I
* Q, F6 Z2 Q% t( i+ V大概的講解就算結束了,更詳細的函數內部講解,請看源代碼,寫的很詳細。
$ ?1 K0 ^' P: j0 Y
2 j! B5 e' f, R, h( ^! p小提示:
# f' F) I. n8 ~% f$this-> 表示使用當前類的指定函數
3 q/ w! S; c6 L/ B. Z( ~. y( h: C2 b4 q1 q
public function 表示這個函數可以在類的外部被調用,就是說公開的可以大家用' t. |1 e- N4 Q6 b) A
" {# }6 n9 H9 A2 b/ y6 J
private function 表示這個函數只能在它的當前類裡面使用,外部調用不起,就是只能一個人用,別人不能用:)% g! E# A% X, H R3 y. ]
! h2 b0 P* V# f% c
$DisplayClickCode = new DisplayClickCode; 新建一個類實例,就是說DisplayClickCode是一套規則,我們這時開通一個新的項目$DisplayClickCode,而這個項目使用class DisplayClickCode規則。這個項目也叫一個對象。
, h7 B; n7 k# D8 A8 D6 ^9 A) Z% C4 h& ], w( |& M7 \2 @* H9 ^
$DisplayClickCode->DisplayCode(); 使用對像 $DisplayClickCode 指定的類中的函數 DisplayCode()( U k0 h% j7 c
9 r" r2 E) G8 h; X# _ Y
4 H; g- k# j' O( H) X& ?" d. n) _8 S* B& G* J; B
本例是初級例程,不包含geoip判斷等4 K; k3 C0 b# {& q) \" r/ j
部分朋友想用於自動點擊,這裡寫一個iframe的寫法給大家
1 p B% }$ H" `4 ^4 R! I$ p! f- <iframe src="http://advertcn.com/" width="0" height="0" frameborder="no" style="display:none;"></iframe>
複製代碼 ( h+ M9 k+ W% Y* c" X
) V! k# ^/ m+ f6 Y/ o& T# ^5 S: ~ x/ j6 X5 ]
2012年6月20日更新8 t2 u2 }. A/ F' o' d" i4 J
指定PV值内指定链接转向例程_PHP5_UTF-8.zip
(2.85 KB, 下載次數: 10)
$ B; X# S' L' F" m& o5 k2 q. R4 u |
評分
-
查看全部評分
|