這是一個很簡單的練習,但發現有很多朋友都想要這樣的例程
5 x8 f/ [8 [; ?6 |9 Q- } y3 q' [7 [2 ?" A- M
$ ^/ m+ }; T- R8 }, V5 A- k
這個例程指定了每3個PV瀏覽量,自動點擊一次百度知道鏈接zhidao.baidu.com。就是說,你打開這個鏈接後,每刷新3次,你可以看到源代碼裡面就會執行一次隱藏的轉向,當然我為了讓大家看到轉向,iframe設置了高和寬,而你可以設置成08 `0 G' U4 x2 A" J0 }7 b
; a6 ]+ w. P% p: @3 J' y3 \
# V" `( f. Z7 E本例基於PHP5_utf-8,並且是面向對象。是一個簡單的例程,我們會講解此例程的全部原理,以幫助大家熟悉PHP執行過程。
_, D" z! x, m" T' c+ G& g, D2 N% O2 `" L5 m
首先來看我們的目錄結構
4 n2 J- E9 ?* L5 F6 V& X# ~" w4 H c) T
index.php' z0 Z T! o/ a5 ^% J1 @9 p( s3 T+ }
PVtraffic/DisplayCode.php
, c1 ^6 r6 w8 F9 w( u5 i7 J4 {/ ~: EPVtraffic/Setting.php$ o7 \3 \9 R& e' m/ R6 h
PVtraffic/PVLog.php: @9 `0 F, R/ i2 ], h8 Z' r
$ c$ ^1 U4 j, T; ?
目錄結構是非常簡單的,index.php負責顯示跳轉代碼,就是說,刷新操作和顯示跳轉代碼等,都是index.php需要幹的事情,當然這個index.php也可以變成任何支持php的頁面,比如display.php等。" z. P. f& {& `+ U& g3 e( o
+ V# p/ d) Q% Q5 U我們來看index.php的代碼" A% d# s& @9 d+ ? m1 p
<?php p' W" D% X7 f' C
require_once('PVtraffic/DisplayCode.php');5 l6 G" U% n# j& v- s
$DisplayClickCode = new DisplayClickCode;7 `% O0 C |* H- e) V
$DisplayClickCode->DisplayCode();
4 F) u& d1 |* d& W1 ?8 e3 F?># j/ s2 ?2 p$ n/ a o9 l6 h
( s; f$ o9 i% U& d5 frequire_once表明了index首先包含了PVtraffic/DisplayCode.php這個頁面# b7 Q+ E5 E$ q8 T
然後new一下,復活對象,這樣這個對象才可以使用,我第7課講的http://advertcn.com/viewthread.php?tid=63025&extra=page%3D1% P# b2 H& |6 S' Q
. L2 X& a# r$ N& u8 C1 D4 G
我們看PVtraffic/DisplayCode.php的源代碼' n! f4 k, {5 L0 q9 Z
一個類class DisplayClickCode A8 H7 ~6 [' c# T; Q
& n! N, s- g' W( u裡面3個自定義函數,http://advertcn.com/viewthread.php?tid=62985&extra=page%3D13 w2 c% F$ V2 Y- u+ S
function DisplayCode()4 F6 k% n9 F7 \
function SavePageViews($ClickInterval)/ ?! L- K6 E6 C7 b. S
WriteFile($file,$mode,$content)- t; q w5 d9 s0 T& q" _
3 t7 Q! r. E$ C5 C" |8 u6 u- {- j6 o
所以,index.php源代碼中,$DisplayClickCode = new DisplayClickCode;就是復活DisplayCode.php頁面中class DisplayClickCode類,復活後,拿一個新的變量來命名$DisplayClickCode。注意,前面是變量,後面是類,雖然字母一樣,但是意義不同。+ j, j! W7 G! p4 T6 w7 N) a
, _; Y6 b1 p6 b8 E h5 C
復活後,我們就可以用類class DisplayClickCode裡面的自定義函數了: L' l5 |6 }& |
index.php裡面的第3行,我們就使用我們自定義的函數DisplayCode()- f7 _9 ~) u C8 C+ ^' i8 ?
. Z. c( D- C2 Y- O/ F+ O$DisplayClickCode->DisplayCode();! K8 k3 m& U0 {0 W9 C7 `
1 S4 J& I3 r# b4 d: F$ I Q
下面我來講講 n. s% L$ D2 X0 Z+ z1 U3 h. G, V
PVtraffic/DisplayCode.php頁面,這個頁面有一個類包含3個自定義函數,作用分別是:
" |8 N% A3 q; ~9 Y: j7 x
7 l$ Q6 n! z( U( V, p3 nfunction DisplayCode() 顯示跳轉代碼功能1 Q5 B9 o7 L, ^3 l4 A
function SavePageViews($ClickInterval) 儲存PV值到文本數據庫,帶一個參數
4 y5 r. ~0 u* v- C8 Cfunction WriteFile($file,$mode,$content) 寫或生成一個文件9 A- g& b' V( @ W7 Q, ~/ D: \- B
5 i( Z8 w9 t6 H. \
3 @& N' C0 k- o! E5 c- P* o/ O* k. B4 U
好了,現在在說說全部頁面的流程,這點很重要:
1 `! L! `, W( A" Z( m4 f# u/ e" P3 C2 X Z E1 c
首先流量經過index.php
; G* y- B$ O4 L' ?2 `8 e; c3 J9 w5 ^: ^! r- C0 n% A! t
index.php載入頁面PVtraffic/DisplayCode.php y/ S0 N4 J0 F3 [: L7 b
; n" U7 a, {( [9 X& M5 E並且index.php調用PVtraffic/DisplayCode.php頁面的函數DisplayCode()
8 x7 r. |% Y! P& ?2 ?# N- z! S( p# ^ Z
DisplayCode()這個函數載入頁面Setting.php(我們的手動設置頁面),得到我們要求的點擊間隔和跳轉代碼# y; T! v0 p* }& M! [& s
" J% n+ M$ |. b! R然後DisplayCode()這個函數再計算當前已經瀏覽的PV值是否與我們指定的PV值相等 $this->SavePageViews($ClickInterval) == $ClickInterval
0 \9 U4 @( r2 N0 S( L! `3 m/ P, c9 L& N* J- T
如果相等,打印出跳轉代碼 echo $DisplayClickCode;. o: W0 B) v" e0 l$ q
6 k& t& m, h, X! g) V( R, e" T: O( S$ G6 A
全部流程就完畢了,要注意的是:
% a" Q. }- P' I5 |9 u! lSavePageViews($ClickInterval)這個函數是儲存當前的PV值,它將當前PV的值儲存到PVtraffic/PVLog.php這個頁面,所以為什麼我們要把這個頁面設置成777可寫。PVtraffic/PVLog.php也相當於我們的文本數據庫,只是這裡的數據庫非那種數據庫,這裡的數據庫只是一個非常簡單的可寫文本而已,但都儲存數據,所以也叫數據庫
# c8 I) x# X. H$ p7 s; I
% ]! r0 L8 M! d1 Q4 ^3 FWriteFile($file,$mode,$content)這個函數,是SavePageViews函數使用的,就是SavePageViews用來儲存pv值,要將一些數據寫到一個文件中,所以要用WriteFile函數來實現寫入數據到文本的功能。 B2 _2 Z, m8 M. ]& b4 v
7 g' m: B2 v# p3 O
Setting.php包含了2個變量,分別設置了我們的時間間隔和跳轉源代碼。+ R: f4 R s5 Z0 l# } {! m$ H$ p
3 G/ x% [8 ~, C9 `1 g7 j9 l2 G% a; X7 M A# {
; n' L- M" J( x# Z& E/ C
大概的講解就算結束了,更詳細的函數內部講解,請看源代碼,寫的很詳細。
2 F1 v' F" K4 k
+ b9 f/ z5 w4 w f/ Z小提示: W8 }) \$ l3 ^: H) \2 |$ d6 G
$this-> 表示使用當前類的指定函數
/ ]# k7 X4 I* s# ^# C( J$ D$ \8 G% d, [# ]7 I
public function 表示這個函數可以在類的外部被調用,就是說公開的可以大家用
) f! e; V0 v9 D; A z/ J$ }, c' I# W! p# @" e1 d/ s( u
private function 表示這個函數只能在它的當前類裡面使用,外部調用不起,就是只能一個人用,別人不能用:)
6 M8 h5 r8 q/ F* s {; K2 q
2 _% v% ?$ [) G( f& u$DisplayClickCode = new DisplayClickCode; 新建一個類實例,就是說DisplayClickCode是一套規則,我們這時開通一個新的項目$DisplayClickCode,而這個項目使用class DisplayClickCode規則。這個項目也叫一個對象。
; k# T7 y2 y) `6 D8 t1 D% K# D
$DisplayClickCode->DisplayCode(); 使用對像 $DisplayClickCode 指定的類中的函數 DisplayCode()0 Y- D) ?' N1 m7 v2 Q5 _1 b5 Q
: L" s* k% f) b s& c) o" r. q7 S% x* k
* L# I N( o: ^2 V本例是初級例程,不包含geoip判斷等: N ~! g2 |! m$ H
部分朋友想用於自動點擊,這裡寫一個iframe的寫法給大家/ j4 E' I" g, l, u
- <iframe src="http://advertcn.com/" width="0" height="0" frameborder="no" style="display:none;"></iframe>
複製代碼 ' o. X0 Y& F/ D) S) x# w; y
+ m& c" f8 G; x. ^6 ]$ i* I% c+ G" V+ T6 M3 P: i# G
2012年6月20日更新
9 w9 e& C1 t; H
指定PV值内指定链接转向例程_PHP5_UTF-8.zip
(2.85 KB, 下載次數: 10)
$ k1 Z4 n" u+ I* [. e3 S3 T' W# { |
評分
-
查看全部評分
|