过期域名预定抢注

 找回密碼
 免费注册

[實例練習]指定PV值內指定鏈接轉向例程【初級】

 火.. [複製鏈接]
發表於 2008-10-17 11:47:26 | 顯示全部樓層 |閱讀模式
這是一個很簡單的練習,但發現有很多朋友都想要這樣的例程
( E& g( R. m2 t, F3 p% m7 P
: D9 ]0 [" L9 f1 P3 e0 Y0 [! _, V; N! E; A9 ?) e  L* e" ^3 K0 @% j
這個例程指定了每3個PV瀏覽量,自動點擊一次百度知道鏈接zhidao.baidu.com就是說,你打開這個鏈接後,每刷新3次,你可以看到源代碼裡面就會執行一次隱藏的轉向,當然我為了讓大家看到轉向,iframe設置了高和寬,而你可以設置成0
: {  K0 {$ W" O/ D1 P( Z9 e6 ?3 Z1 q) H( e9 g) K
5 v$ i; z6 {9 K7 c) F0 C# O% u
本例基於PHP5_utf-8,並且是面向對象。是一個簡單的例程,我們會講解此例程的全部原理,以幫助大家熟悉PHP執行過程。8 N" x" T( X+ C. z2 D9 j  n
8 |( {* e. F# H6 A0 i/ a, s& L* @
首先來看我們的目錄結構
3 D) K8 G" \0 D& t$ r# V9 A, n2 K" q& H! F; t
index.php
$ H% H0 w' v# L% Q$ C) uPVtraffic/DisplayCode.php
8 R& H* S7 t# L. w9 o+ @PVtraffic/Setting.php- V+ z# B! I" e0 I
PVtraffic/PVLog.php
- R) M  ^. z" w) \+ i* e5 i. N
9 M0 F3 i3 K/ G1 Y/ u5 ]目錄結構是非常簡單的,index.php負責顯示跳轉代碼,就是說,刷新操作和顯示跳轉代碼等,都是index.php需要幹的事情,當然這個index.php也可以變成任何支持php的頁面,比如display.php等。' a! {4 y) e  J! V, C3 k
, p$ \' _6 o0 ]. h$ Q
我們來看index.php的代碼1 j* T$ @5 O1 i' |+ ^
<?php
' f7 w9 Q, Q% D5 Nrequire_once('PVtraffic/DisplayCode.php');
4 X8 r; Q% [$ U( M5 M# r- Y$DisplayClickCode = new DisplayClickCode;
7 l$ Z1 m- T/ L1 U$DisplayClickCode->DisplayCode();
" x3 D/ N- i) X: h/ p: Y& ]6 S?>4 M2 @+ O2 T) g3 I7 f' M/ Y# F: h
% r- p% E4 d! t9 Y* j0 q' B
require_once表明了index首先包含了PVtraffic/DisplayCode.php這個頁面
: Z1 e4 O8 l1 s2 f% \/ w然後new一下,復活對象,這樣這個對象才可以使用,我第7課講的http://advertcn.com/viewthread.php?tid=63025&extra=page%3D13 t" n/ t  o+ p7 {0 A' C
. r& z/ h3 \6 d1 f7 P
我們看PVtraffic/DisplayCode.php的源代碼" ?8 o9 i9 Z$ X8 L
一個類class DisplayClickCode9 b2 E/ K& m& ~& j3 _& t  X
: J" ]; [2 u- ~# y; ^, _. C
裡面3個自定義函數,http://advertcn.com/viewthread.php?tid=62985&extra=page%3D1
& C. F6 k2 F5 y4 n7 ], D! x3 M, Nfunction DisplayCode(). J0 \+ b4 v, B/ c+ e# {
function SavePageViews($ClickInterval)+ R# u! ^; `/ n3 ~: D4 s
WriteFile($file,$mode,$content)
1 t5 _" a. E1 C; Y4 s1 g: G  i5 M4 D6 _
所以,index.php源代碼中,$DisplayClickCode = new DisplayClickCode;就是復活DisplayCode.php頁面中class DisplayClickCode類,復活後,拿一個新的變量來命名$DisplayClickCode。注意,前面是變量,後面是類,雖然字母一樣,但是意義不同。
7 I; F5 u7 H3 A- t$ v- W% _5 x8 Z8 k) `' p9 X
復活後,我們就可以用類class DisplayClickCode裡面的自定義函數了
+ |, @% D7 X+ _% k( f
index.php裡面的第3行,我們就使用我們自定義的函數DisplayCode()
4 \$ A# @: D' ?, l5 E
5 S- P# j% }0 O; M" ?, i9 i$DisplayClickCode->DisplayCode();9 m$ m+ D( [, u* e6 C
" ~$ O" h  T5 a! \  n$ Y: I  N
下面我來講講
. T4 R0 z% d1 E) i" Y# sPVtraffic/DisplayCode.php頁面,這個頁面有一個類包含3個自定義函數,作用分別是:
4 M5 k8 C1 H: O% [  s% s3 P6 u8 O* [- {/ D! b2 h
function DisplayCode() 顯示跳轉代碼功能
# [# j8 n* P6 O" T/ N% m
function SavePageViews($ClickInterval) 儲存PV值到文本數據庫,帶一個參數
( s3 M$ E: Z& l8 y9 W
function WriteFile($file,$mode,$content) 寫或生成一個文件& ], I1 g- \: {
( @9 O# H. X/ A5 R
$ \: `8 l! p8 i! s. {8 Y" h
0 b, B( Q& r  h8 _
好了,現在在說說全部頁面的流程,這點很重要:2 n0 h, _6 \) i0 Y8 Q: M

) }3 ^; a* J/ |* A6 a  k- M( P首先流量經過index.php) ]* A9 A* o. p/ S1 C  C

5 X( b$ o( u& M/ }" ~index.php載入頁面PVtraffic/DisplayCode.php5 U0 _0 m0 e" c! p" [' L
7 t4 F: t; R# f4 @
並且index.php調用PVtraffic/DisplayCode.php頁面的函數DisplayCode()8 D8 C: Y% V. Q$ O. T3 W3 c; q
9 z7 O' H/ ^# E, o
DisplayCode()這個函數載入頁面Setting.php(我們的手動設置頁面),得到我們要求的點擊間隔和跳轉代碼
( X8 y) p6 M# }7 C1 j
4 S* w$ y- N: Z3 V然後DisplayCode()這個函數再計算當前已經瀏覽的PV值是否與我們指定的PV值相等 $this->SavePageViews($ClickInterval) == $ClickInterval
8 H; d8 d" ^7 Y6 P- X, r
: ]* R9 S) T6 p如果相等,打印出跳轉代碼 echo $DisplayClickCode;! H: A- A; ?' F' q" m

+ f  b* D7 `/ @* I8 X( T: x
8 Z) Z( g3 e* C$ t" W全部流程就完畢了,要注意的是:9 N0 h1 d/ e! e4 G" C3 I
SavePageViews($ClickInterval)這個函數是儲存當前的PV值,它將當前PV的值儲存到PVtraffic/PVLog.php這個頁面,所以為什麼我們要把這個頁面設置成777可寫PVtraffic/PVLog.php也相當於我們的文本數據庫,只是這裡的數據庫非那種數據庫,這裡的數據庫只是一個非常簡單的可寫文本而已,但都儲存數據,所以也叫數據庫. V' ~3 b, j$ k& G( F: g, p- l
+ k. f" B3 _8 S, R
WriteFile($file,$mode,$content)這個函數,是SavePageViews函數使用的,就是SavePageViews用來儲存pv值,要將一些數據寫到一個文件中,所以要用WriteFile函數來實現寫入數據到文本的功能
- {; q+ `, |$ H. l% @) o1 `8 q/ {3 {$ e: R9 r( h
Setting.php包含了2個變量,分別設置了我們的時間間隔和跳轉源代碼
2 C6 K& O1 B2 o4 B5 b
' F5 y1 p4 E  n+ |& g" T" b- K* B! c7 n0 a8 ~* g; H  U+ y

$ T: n/ t5 A: Y4 T大概的講解就算結束了,更詳細的函數內部講解,請看源代碼,寫的很詳細。
9 ^5 S  B1 l; G- H1 R- d" K% U, H" A0 I3 G
小提示:
1 s6 x$ s, g8 M( {" V7 p! b5 w$this-> 表示使用當前類的指定函數, r0 n: ~" P3 j8 L$ w

' B8 y7 o3 o0 r" J. [0 p; \public function 表示這個函數可以在類的外部被調用,就是說公開的可以大家用
9 w% n! r9 ?% E$ F
! R! n7 \. ?9 ^! Qprivate function 表示這個函數只能在它的當前類裡面使用,外部調用不起,就是只能一個人用,別人不能用:)# ?9 S- v$ A" K  I0 z0 y
1 C. r7 y5 e/ @, L+ o0 Y
$DisplayClickCode = new DisplayClickCode; 新建一個類實例,就是說DisplayClickCode是一套規則,我們這時開通一個新的項目$DisplayClickCode,而這個項目使用class DisplayClickCode規則。這個項目也叫一個對象。
( P8 [6 E' Q, ?% I% f8 T
: S' @- C2 ~& |% s$DisplayClickCode->DisplayCode(); 使用對像 $DisplayClickCode 指定的類中的函數 DisplayCode()! p' Y/ Z( h0 ?1 C" E+ `
5 k# j6 }0 R4 u+ Z9 D1 n! x" W& U
6 E# f; E7 t1 b7 [( \" b
( D* u/ q) V2 C( q9 b) h0 u- ^" E: p
本例是初級例程,不包含geoip判斷等1 [! Z4 R; o: ^2 w
部分朋友想用於自動點擊,這裡寫一個iframe的寫法給大家- ]- x. x& P. Z( {# x% q
  1. <iframe src="http://advertcn.com/" width="0" height="0" frameborder="no" style="display:none;"></iframe>
複製代碼

4 {3 \% c0 b" k; h# N1 k7 Z) H+ ]" |- Z/ S" c6 e8 z! `: z. ]$ h

( ]" o' J, }) M% @4 H! m2012年6月20日更新9 w/ M7 f( _2 \" O
指定PV值内指定链接转向例程_PHP5_UTF-8.zip (2.85 KB, 下載次數: 10)
8 k3 Q% u$ n; i- W$ m) ?* e4 O

評分

參與人數 3 +45 收起 理由
无终狼 + 10 支持斑斑
无限可能 + 15 精品文章
陈汤 + 20 原创内容

查看全部評分

發表於 2008-10-17 15:55:55 | 顯示全部樓層
樓主真是個月光寶盒啊
回復 给力 爆菊

使用道具 舉報

發表於 2008-10-17 17:04:27 | 顯示全部樓層
如果改成5次PV點擊一次的話 PVLog.php裡的
* D9 E: V5 X. i5 q<?php $pv=3; ?>也需要改成<?php $pv=5; ?>吧?
回復 给力 爆菊

使用道具 舉報

 樓主| 發表於 2008-10-17 17:17:44 | 顯示全部樓層
只改Setting.php,PVLog.php是記錄日誌的,這個不需要你改,PVLog.php裡面的值表示當前瀏覽了幾次
回復 给力 爆菊

使用道具 舉報

發表於 2008-10-17 21:25:35 | 顯示全部樓層
月光看來對php不是一般的精通啊
回復 给力 爆菊

使用道具 舉報

發表於 2008-10-27 01:57:44 | 顯示全部樓層
終於可以站在門裡面讚美了!謝謝啊
回復 给力 爆菊

使用道具 舉報

發表於 2008-10-30 03:23:19 | 顯示全部樓層
很棒的教程,謝謝
回復 给力 爆菊

使用道具 舉報

發表於 2008-10-30 12:25:33 | 顯示全部樓層
不錯!
, v* \) g! H( `. ^) g但是如果轉向指定鏈接為隨機在N條鏈接中選擇一條,代碼又是如何實現?
回復 给力 爆菊

使用道具 舉報

發表於 2008-10-30 12:56:02 | 顯示全部樓層
靠.還有什麼不能的呢.我日啊
回復 给力 爆菊

使用道具 舉報

 樓主| 發表於 2008-10-30 17:45:22 | 顯示全部樓層
shui1212 wrote on 2008-10-30 12:25 :
# J" m$ `0 W2 P$ A0 j! E# y1 k0 D8 |不錯!2 ^4 O8 A) P) |
但是如果轉向指定鏈接為隨機在N條鏈接中選擇一條,代碼又是如何實現?

, r) i* z2 |; q
9 g" x  X  F4 ~5 N. z5 h& a' X$ ~  Q. ]# X7 s2 w0 C. g% `
很簡單,請在提問專區詳細提出你的問題,我會源碼奉上
回復 给力 爆菊

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 免费注册

本版積分規則

过期高净值品牌域名预定抢注

點基跨境 數位編輯創業論壇

GMT+8, 2025-4-7 15:32

By DZ X3.5

小黑屋

快速回復 返回頂部 返回列表