這是一個很簡單的練習,但發現有很多朋友都想要這樣的例程) W8 N% Z# R" B" M: r
/ S( x0 j. w; `1 a2 |5 H3 z! C+ B3 V; z9 L0 Y. F
這個例程指定了每3個PV瀏覽量,自動點擊一次百度知道鏈接zhidao.baidu.com。就是說,你打開這個鏈接後,每刷新3次,你可以看到源代碼裡面就會執行一次隱藏的轉向,當然我為了讓大家看到轉向,iframe設置了高和寬,而你可以設置成0
' s/ p7 K9 }2 z9 D
V" H9 S. B& u: L( C- c
. M) F' P' s/ M2 p* e9 A( S; T& P本例基於PHP5_utf-8,並且是面向對象。是一個簡單的例程,我們會講解此例程的全部原理,以幫助大家熟悉PHP執行過程。, f/ p C5 ?: m' E
& T1 \* Y, d) E9 l* U
首先來看我們的目錄結構) @) _6 B" ^ g8 {
( d0 x }2 P+ j7 u9 r" l" _2 yindex.php
- A7 o: F$ X5 n5 [. Z' LPVtraffic/DisplayCode.php; v, o* o7 e- ?0 w1 L0 d i
PVtraffic/Setting.php
1 e9 o5 Y+ e1 J9 I) t/ bPVtraffic/PVLog.php; m6 B2 ?7 O w& d" \
* G% S& r. ~' X/ o) m5 I5 z4 e) |
目錄結構是非常簡單的,index.php負責顯示跳轉代碼,就是說,刷新操作和顯示跳轉代碼等,都是index.php需要幹的事情,當然這個index.php也可以變成任何支持php的頁面,比如display.php等。* ?' F" h* ?$ r/ ^; p# Y; `
' F! V! l/ b, R( Z0 X! q3 E @! A我們來看index.php的代碼
9 q; ]1 \0 @: s<?php8 j1 v7 F6 t' @0 ^# T9 {- U
require_once('PVtraffic/DisplayCode.php');
8 J! |$ O3 q( p& t4 |$DisplayClickCode = new DisplayClickCode;( {: c# G' }- A( L+ U* K- W. E
$DisplayClickCode->DisplayCode();
. ?7 Q- }% h9 \- H5 q) o$ r?>
# S. K9 Y' t1 Z3 G5 U' G1 s% m
require_once表明了index首先包含了PVtraffic/DisplayCode.php這個頁面: W& K5 V) ?( C% }" ]/ v& {" [/ P
然後new一下,復活對象,這樣這個對象才可以使用,我第7課講的http://advertcn.com/viewthread.php?tid=63025&extra=page%3D14 A: ]" Z: }% ?( ]* c
! T& L' N f: j
我們看PVtraffic/DisplayCode.php的源代碼# R, Y; ?: q4 ?# y( G
一個類class DisplayClickCode; a) t2 h" e7 ~* \" |
, }9 {2 O" [2 Z1 @: e0 k) C裡面3個自定義函數,http://advertcn.com/viewthread.php?tid=62985&extra=page%3D10 K8 y- i3 g* `
function DisplayCode(), e& s; n B! S) l% Q
function SavePageViews($ClickInterval)
3 Q2 c# l7 M, g1 _" NWriteFile($file,$mode,$content)
; S6 K" X1 Q6 K2 T
& @" u* ]% B G, n [9 C9 e所以,index.php源代碼中,$DisplayClickCode = new DisplayClickCode;就是復活DisplayCode.php頁面中class DisplayClickCode類,復活後,拿一個新的變量來命名$DisplayClickCode。注意,前面是變量,後面是類,雖然字母一樣,但是意義不同。
: F U& G* c, o6 f, c$ S6 \0 J6 G1 n4 a
復活後,我們就可以用類class DisplayClickCode裡面的自定義函數了
* X0 S! P: z7 z) v( k8 }9 F9 pindex.php裡面的第3行,我們就使用我們自定義的函數DisplayCode()/ W$ b) W: B$ ^* g# \) F8 q$ v
! o$ s3 c+ W5 P, Z$ [3 m
$DisplayClickCode->DisplayCode();* m$ X+ R2 n" o$ e# M4 H1 @/ j
3 z$ ~8 j- k* B# B2 L$ e下面我來講講! X% V8 G' L7 o7 D9 t) ]* M, V
PVtraffic/DisplayCode.php頁面,這個頁面有一個類包含3個自定義函數,作用分別是:4 R X* o# p- ]. u) I$ g; U V' g
& \, l% r- |8 Q/ ?function DisplayCode() 顯示跳轉代碼功能
5 W; b ~7 `8 rfunction SavePageViews($ClickInterval) 儲存PV值到文本數據庫,帶一個參數
( f. t% l0 x2 q; o( wfunction WriteFile($file,$mode,$content) 寫或生成一個文件' a" [& T" C; h8 w- r
5 J3 R8 i+ }) \7 }: j* o/ s
/ L, Z4 m' W; o& u% s7 K5 k6 ]1 V
/ _6 m/ \$ M) |# p) M好了,現在在說說全部頁面的流程,這點很重要:
) V N+ G$ b2 n% u7 j5 k
6 L3 W7 l7 K8 B6 v. B首先流量經過index.php( H' l* P$ t2 T6 ^2 y
" G9 v+ t& ]/ c2 k7 Findex.php載入頁面PVtraffic/DisplayCode.php8 M& n- S% V. D% m( P9 C
; E4 H/ f' ?* V( X6 e, t& l3 k. H
並且index.php調用PVtraffic/DisplayCode.php頁面的函數DisplayCode()
% i" b0 O2 r) T7 }( A2 B, P: @0 e# p8 }, t2 I5 V) T# Y7 t
DisplayCode()這個函數載入頁面Setting.php(我們的手動設置頁面),得到我們要求的點擊間隔和跳轉代碼
! e, A5 N- T4 d! c* _- j9 K+ r& w' l2 s- I% k: l: Y
然後DisplayCode()這個函數再計算當前已經瀏覽的PV值是否與我們指定的PV值相等 $this->SavePageViews($ClickInterval) == $ClickInterval$ S5 l, R D6 i/ [8 q$ R+ E
- J# r5 E+ K3 e1 O v! `如果相等,打印出跳轉代碼 echo $DisplayClickCode;, r% i1 J; z, g% B( A2 m+ ?
0 M$ ?+ ~2 N- X* D! M* X F
, a/ b1 o+ @* k$ H8 T2 h) \. ~" k全部流程就完畢了,要注意的是:
- p4 C* |7 n( {* T5 l& G: Q& F' A6 JSavePageViews($ClickInterval)這個函數是儲存當前的PV值,它將當前PV的值儲存到PVtraffic/PVLog.php這個頁面,所以為什麼我們要把這個頁面設置成777可寫。PVtraffic/PVLog.php也相當於我們的文本數據庫,只是這裡的數據庫非那種數據庫,這裡的數據庫只是一個非常簡單的可寫文本而已,但都儲存數據,所以也叫數據庫 I- Y* B, P g% {% q! |6 I: x% s
; c, d* {& b( Z! B7 ?5 f
WriteFile($file,$mode,$content)這個函數,是SavePageViews函數使用的,就是SavePageViews用來儲存pv值,要將一些數據寫到一個文件中,所以要用WriteFile函數來實現寫入數據到文本的功能。
0 E1 d& |' r! ^- M3 Y' y0 P
; y4 b1 H1 b6 K8 ?( |5 s# BSetting.php包含了2個變量,分別設置了我們的時間間隔和跳轉源代碼。# [9 z8 ^1 y0 g2 H( G6 x9 K [
4 N2 n- M' u9 B1 R/ C
- o) a0 [& T; ^. M# k2 w) @( p7 A8 z& y/ O$ G
大概的講解就算結束了,更詳細的函數內部講解,請看源代碼,寫的很詳細。( B1 ]% t2 k$ f! Q4 M5 s' t2 c5 S
7 M6 a9 c5 R7 I- `4 h+ Z& D2 D
小提示:8 T7 f) q. l1 J, l2 N
$this-> 表示使用當前類的指定函數
& ]7 ]3 V. j9 s" b
5 @" Z; o$ d6 x4 x: epublic function 表示這個函數可以在類的外部被調用,就是說公開的可以大家用0 w% x$ U, p5 c/ H8 H/ [
6 | ^2 ]+ d( G9 X; H2 s7 ^
private function 表示這個函數只能在它的當前類裡面使用,外部調用不起,就是只能一個人用,別人不能用:)
+ q# H" L& ?. x8 T; Z& l+ l
7 a$ F+ L* _+ y/ X5 C$DisplayClickCode = new DisplayClickCode; 新建一個類實例,就是說DisplayClickCode是一套規則,我們這時開通一個新的項目$DisplayClickCode,而這個項目使用class DisplayClickCode規則。這個項目也叫一個對象。. d' ^1 }( V) {. T' ~: K9 m) Y# T
5 [9 {; z4 }4 I5 D! q$DisplayClickCode->DisplayCode(); 使用對像 $DisplayClickCode 指定的類中的函數 DisplayCode()+ G& S. P' v+ A; A! g' d4 L
3 U2 `5 z2 j" y& b2 D7 M
$ ~! _5 ^8 ~0 X q$ g3 N" e" `' e- F8 D) ?$ r; [% \9 z1 J7 B' D& l3 l
本例是初級例程,不包含geoip判斷等1 W" Q' E( C4 P2 G, t0 @+ `3 c8 y: Q
部分朋友想用於自動點擊,這裡寫一個iframe的寫法給大家
) c4 @% D& d: f/ B- R- <iframe src="http://advertcn.com/" width="0" height="0" frameborder="no" style="display:none;"></iframe>
複製代碼
: \+ n( Y6 n/ f n/ C
& Y! F" a3 C( w* D X! r
7 Y, W2 N4 i: B& F+ G; w5 }2012年6月20日更新" @. f* F( E% c
指定PV值内指定链接转向例程_PHP5_UTF-8.zip
(2.85 KB, 下載次數: 10)
0 J9 k+ A6 ?/ J8 `
|
評分
-
查看全部評分
|