這是一個很簡單的練習,但發現有很多朋友都想要這樣的例程8 ?7 l8 | M/ r
* O i9 G$ p( g; A) [
$ f a" _, r0 y9 E+ g6 y
這個例程指定了每3個PV瀏覽量,自動點擊一次百度知道鏈接zhidao.baidu.com。就是說,你打開這個鏈接後,每刷新3次,你可以看到源代碼裡面就會執行一次隱藏的轉向,當然我為了讓大家看到轉向,iframe設置了高和寬,而你可以設置成0( c1 i+ U- @: C1 `4 y1 U0 `
$ Q& T8 U M h2 r8 O9 i1 {* H x
x, a) \: m. q4 |本例基於PHP5_utf-8,並且是面向對象。是一個簡單的例程,我們會講解此例程的全部原理,以幫助大家熟悉PHP執行過程。# O3 Y9 o/ h! D, @2 ~
2 B3 ?: J M' ?8 V首先來看我們的目錄結構
& W* o- n% ]9 O: F
( v, q* w. H" e9 G$ u# M* ~index.php% n/ ^+ c/ {3 n' r9 W; Z! G
PVtraffic/DisplayCode.php! s& E: Q! G1 P: \
PVtraffic/Setting.php9 s$ A' O7 @& U& _1 x Y J
PVtraffic/PVLog.php
, o) B; i( m. q& ]7 w2 r
9 G3 R2 l8 O. Q' b! J目錄結構是非常簡單的,index.php負責顯示跳轉代碼,就是說,刷新操作和顯示跳轉代碼等,都是index.php需要幹的事情,當然這個index.php也可以變成任何支持php的頁面,比如display.php等。, y3 _% h+ [5 I# H7 J; d
) h' R- y$ M3 c; s我們來看index.php的代碼' ]+ U+ W4 `( o" m- d
<?php: o1 P3 k5 l* C E
require_once('PVtraffic/DisplayCode.php');
5 Q, `8 u2 y( }5 t8 q, R3 m$DisplayClickCode = new DisplayClickCode;5 i8 J. V Q, G8 v- F7 P
$DisplayClickCode->DisplayCode();
# h) M' Y- x& V* p2 A2 o, ??># F# f/ Q, ^. _: a7 o( }0 b
- m5 W% X; Q1 y% o- brequire_once表明了index首先包含了PVtraffic/DisplayCode.php這個頁面2 [" ~) I4 u# b. ], W+ h2 P
然後new一下,復活對象,這樣這個對象才可以使用,我第7課講的http://advertcn.com/viewthread.php?tid=63025&extra=page%3D1
+ K' M# Q% k L! ], e* S3 S" u& O t
我們看PVtraffic/DisplayCode.php的源代碼$ J D6 r2 d. q
一個類class DisplayClickCode
4 z8 \% `! z% Q8 }1 r- @5 S+ S0 s" e- F1 s0 a3 L* @3 u* R8 }8 H, S7 V. J
裡面3個自定義函數,http://advertcn.com/viewthread.php?tid=62985&extra=page%3D1
% U$ n, s2 |- i! e1 d1 C* nfunction DisplayCode()
l# i0 W5 j4 z+ W7 ]5 Z; |function SavePageViews($ClickInterval)% n: {7 w+ J2 w& b7 @7 R# k
WriteFile($file,$mode,$content)
4 h' t. ?; p, s# M V, R7 F8 n
0 [0 j. L. k/ D& _; h所以,index.php源代碼中,$DisplayClickCode = new DisplayClickCode;就是復活DisplayCode.php頁面中class DisplayClickCode類,復活後,拿一個新的變量來命名$DisplayClickCode。注意,前面是變量,後面是類,雖然字母一樣,但是意義不同。9 t/ K# b& b8 A1 k* F C+ U, R8 b
+ d; L7 K1 ~/ ^( }
復活後,我們就可以用類class DisplayClickCode裡面的自定義函數了% i0 Q! @$ [ {: h7 b- l; k c
index.php裡面的第3行,我們就使用我們自定義的函數DisplayCode()
8 O5 S) H) ?3 P+ G+ R2 M r8 Q$ w; w5 q
7 C8 {! ?2 g# }" T4 G$DisplayClickCode->DisplayCode();
' b2 w+ \, c w3 Q
- P; u; J; |3 H5 K下面我來講講
1 i( C/ g8 G2 SPVtraffic/DisplayCode.php頁面,這個頁面有一個類包含3個自定義函數,作用分別是:% N, y6 H' l9 m2 Q1 {9 Z! A
; s! m1 C/ M: T7 D* o
function DisplayCode() 顯示跳轉代碼功能
: | F+ O4 g# l- `3 T# r+ [function SavePageViews($ClickInterval) 儲存PV值到文本數據庫,帶一個參數' K. v0 u T$ g% {% P
function WriteFile($file,$mode,$content) 寫或生成一個文件
8 E0 c/ k2 k* ?7 c( N5 i* C
7 i- q. a+ U6 C+ y1 l* N7 S1 M2 F) k7 Q5 @) S" V/ ?
7 p3 E, f- ]& S( @好了,現在在說說全部頁面的流程,這點很重要:
0 v% N n" K' _, r5 X8 V0 g4 ]( p
8 M0 H9 [- r0 h; W: F首先流量經過index.php
. p4 X1 S; t# n$ _! k, H. W6 G1 a! k% J* b* I" X' q
index.php載入頁面PVtraffic/DisplayCode.php
: w7 m: t. z7 Z- v8 h3 M& u4 w) c( r$ t
並且index.php調用PVtraffic/DisplayCode.php頁面的函數DisplayCode()
, ?3 g" K# v9 T/ q& C& e( A: d" M) K* r# f7 J6 K
DisplayCode()這個函數載入頁面Setting.php(我們的手動設置頁面),得到我們要求的點擊間隔和跳轉代碼
0 ?2 ]" d s7 R' T3 E0 ^$ i* r* F% b, |) T0 k1 b* P9 p
然後DisplayCode()這個函數再計算當前已經瀏覽的PV值是否與我們指定的PV值相等 $this->SavePageViews($ClickInterval) == $ClickInterval* T" u3 o4 z. \7 ]1 C% c0 W* J% F+ t
1 `1 r0 ~' \6 |" U) `, Y x+ ^如果相等,打印出跳轉代碼 echo $DisplayClickCode;
2 n: M, o5 a: p7 L. S# c: }9 L
& I5 T: q; u1 H8 ]3 S: n
# U) d8 R* N) T0 M7 a# J+ q全部流程就完畢了,要注意的是:
- A7 @2 e" W3 M% o& i6 I+ cSavePageViews($ClickInterval)這個函數是儲存當前的PV值,它將當前PV的值儲存到PVtraffic/PVLog.php這個頁面,所以為什麼我們要把這個頁面設置成777可寫。PVtraffic/PVLog.php也相當於我們的文本數據庫,只是這裡的數據庫非那種數據庫,這裡的數據庫只是一個非常簡單的可寫文本而已,但都儲存數據,所以也叫數據庫: M( B; [. ^, }% S
K% _/ w, l D3 U3 t6 f6 V3 QWriteFile($file,$mode,$content)這個函數,是SavePageViews函數使用的,就是SavePageViews用來儲存pv值,要將一些數據寫到一個文件中,所以要用WriteFile函數來實現寫入數據到文本的功能。2 o/ h, }8 x7 L( b7 m9 k
- b2 N# I) c( {% o" g6 o: B
Setting.php包含了2個變量,分別設置了我們的時間間隔和跳轉源代碼。
& Q# R- Q9 `0 S. O7 Q: r# t
3 z( R) [- r- i, |( X
) ~3 b% C8 \$ b+ a/ K- C% g) v2 n1 M, I9 B6 h" ^
大概的講解就算結束了,更詳細的函數內部講解,請看源代碼,寫的很詳細。7 q0 m+ y+ l8 B8 C# A+ X! R+ H
0 S8 Q2 v1 V5 M+ F H$ z; d( r小提示:
# f1 N' c1 K* J/ ^9 c$this-> 表示使用當前類的指定函數
; q {/ u! q# w3 X8 d# w3 x V* N
public function 表示這個函數可以在類的外部被調用,就是說公開的可以大家用( @0 o4 A0 e Q1 l
; j% V3 D# ] Yprivate function 表示這個函數只能在它的當前類裡面使用,外部調用不起,就是只能一個人用,別人不能用:)
, ^6 l# ?* K/ A& H6 a* z; b+ H. u3 ` @; _
$DisplayClickCode = new DisplayClickCode; 新建一個類實例,就是說DisplayClickCode是一套規則,我們這時開通一個新的項目$DisplayClickCode,而這個項目使用class DisplayClickCode規則。這個項目也叫一個對象。
" j7 ~8 E# j6 [2 X6 T; @8 B7 u/ @6 Q) w
$DisplayClickCode->DisplayCode(); 使用對像 $DisplayClickCode 指定的類中的函數 DisplayCode()
* {* \) J" J7 F& u) g6 @5 n1 P& H2 T2 g& V
1 L7 c: p5 ~; g9 J" M* _, O' \
( ?7 {5 B" Z9 [" y0 e- C+ _5 h本例是初級例程,不包含geoip判斷等
% l/ I' ^$ X& H. W6 D部分朋友想用於自動點擊,這裡寫一個iframe的寫法給大家+ c' P8 Q2 \! x& D9 d
- <iframe src="http://advertcn.com/" width="0" height="0" frameborder="no" style="display:none;"></iframe>
複製代碼
, k- [. p# R" `7 y. j" s/ b3 H) q& o- F" S3 B, }! P4 ?: V$ z
" e$ g+ v) _, r2012年6月20日更新
9 d5 H! n: _/ Z: Z1 r5 V! c7 w
指定PV值内指定链接转向例程_PHP5_UTF-8.zip
(2.85 KB, 下載次數: 10)
) U1 t5 y) m4 t7 k: l |
評分
-
查看全部評分
|