2012-04-16 83 views
0

包括兩個文件,一個一個用4比:我有兩個文件file4.php和file1.php 1

使用INCLUDE我怎麼把他們的比例,如果file4.php顯示出來4次,然後file1.php應該顯示1次,比例爲4:1。最佳做法是什麼?

<?php 
    { 
    include("file4.php"); 

} else { 

    include("file1.php"); 
    } 
?> 
+6

什麼?那麼...每次包含某個文件時,您想要自動包含另一個文件4次?對此沒有最佳做法;人們不這樣做。 – 2012-04-16 21:16:43

+0

'4次出現'是什麼意思? – 2012-04-16 21:17:21

+1

噢,我現在明白了。你想要包含一個不同的文件(隨機?),並有一個文件顯示4倍的另一個? – 2012-04-16 21:20:55

回答

7

這將顯示,這將隨着時間的推移,包括以4:1的比率向FILE4 1. http://en.wikipedia.org/wiki/Law_of_large_numbers

$randInt = rand (1, 5); 

if ($randInt > 1) include("file4.php"); 
else include("file1.php"); 
+0

這是要走的路,除非你願意以一種持久的方式(即數據庫,文件等)追蹤包含數。 – aefxx 2012-04-16 21:19:54

+0

同意。 OP給出的有限制約的好答案。 – 2012-04-16 21:21:27

-2

file4.php兩頁中的一個:

$GLOBALS['counter']++; 

file1的.php:

$GLOBALS['counter']++; 

主文件:

if ($GLOBALS['counter'] % 5 == 0) { 
    include('file1.php'); 
} else { 
    include('file4.php'); 
} 

但後來坐下來想知道爲什麼你需要這種東西。

+2

'$ GLOBALS'沒有持久化請求,所以這不會做太多。我很確定OP希望做一些加權橫幅旋轉或類似的東西 - 每個綜合瀏覽量使用一次,但其中一個包含比另一個更容易發生。 – ceejayoz 2012-04-16 21:19:36

+0

可能是的,但OP沒有提供任何細節,所以我只是假設目前的請求。 – 2012-04-16 21:22:21

+0

您甚至可以使用文本/日誌文件或數據庫來跟蹤已包含頁面的次數。不知道這將如何影響性能。 – Jack 2012-04-16 21:31:17