前言:現在很多有個人主頁或者博客的朋友選擇租用虛擬主機,而相當一部分虛擬主機支持php。如果 你有一個支持php的主機空間,有沒有用php把自己的網站武裝起來呢?
能不能讓php為你的網頁添加一些每隔一段時間就自動更新的內容,以更好的吸引訪客呢?實現這一功 能並不需要太高深的編程知識,請看以下例子:
(一)英語諺語
讓我們來看一個簡單的應用:讓php程序從數據庫中隨機提取一行記錄,顯示在網頁上,隔15分鐘再去 讀取另一條記錄。英漢對照的諺語是個適合顯示的內容。
考慮到放置個人主頁的廉價虛擬主機多數不支持MySQL之類的數據庫,我們使用文本型數據文件來存放 數據,這對於流量不很大的網站來說足夠了。建立一個文本文件,命名為english.dat,內容如下:
A bad beginning makes a bad ending. 惡其始者必惡其終。
A bad bush is better than the open field. 有勝於無。
A bad compromise is better than a good lawsuit. 吃虧的和解也比勝訴強。
A bad conscience is a snake in one’s heart. 做賊心虛。
A bad custom is like a good cake, better broken than kept. 壞習慣像鮮餡餅,分食要比保存好 。
A bad padlock invites a picklock. 開門揖盜。
……
注意,每行是一條完整的記錄,中間不要換行;文件中不能有半角的雙引號( " )否則在輸出數據時 程序會解析出錯。網上有很多這樣的內容,搜索一下即可,也可以去我的網站 http://www.musicfly.net/english.dat下載一個數據文件。
下面就是編寫讀取數據的程序了。建立一個文本文件,命名為english.dat,加入源代碼如下:
<?php $filename = ’english.dat’; //數據文件名 $refresh = 900; //更新周期(以秒為單位,可根據需要自行調整) $data = file($filename); //將數據文件裝入一個數組 $num_lines = count($data); //數據文件行數,也就是記錄條數 mt_srand(floor(time() / $refresh)); $id = mt_rand(0, $num_lines - 1); //隨機選擇一條記錄號 $content = chop($data[$id]); //根據記錄號選擇相應的數據,並截去最後的換行符 echo "document.write(\"$content\");"; //用javascript形式輸出數據 ?>