程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP入門知識 >> PHP教程:PHP隨機顯示目錄下圖片的源碼

PHP教程:PHP隨機顯示目錄下圖片的源碼

編輯:PHP入門知識

用JavaScript寫的話,程序流程應該是:建立一個圖片數組->隨機選擇數組裡其中一個值->生成樣式並寫入body標簽

可是用JS做的話,有以下缺點:

1.萬一浏覽器禁用了JS的話就失效了,而且寫代碼是需要考慮兼容性。

2.維護比較麻煩,圖片的位置都存放在數組裡。

於是我提議用PHP處理,可是我和她對PHP都是半桶水的,一時之間也想不出怎麼做。今天時運高,看到一個PHP隨機顯示目錄下圖片的源碼,學習一下,並分享之。

正文

先看看原理:從一個目錄裡獲取某類型文件的清單(用在WEB的話一般是jpg/gif/png)->通過隨機函數選一個圖片->輸出代碼

PHP代碼如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 $imglist='';
//用$img_folder變量保存圖片所在目錄,必須用“/”結尾
$img_folder = "images/tutorials/";
 
mt_srand((double)microtime()*1000);
 
//使用目錄類
$imgs = dir($img_folder);
 
//檢查目錄下是否有圖片,並生成一個清單
while ($file = $imgs->read()) {
if (eregi("gif", $file) || eregi("jpg", $file) || eregi("png", $file))
$imglist .= "$file ";
 
} closedir($imgs->handle);
 
//把清單裡的項都放到一個數組裡
$imglist = explode(" ", $imglist);
$no = sizeof($imglist)-2;
 
//生成一個介於0和圖片數量之間的隨機數
$random = mt_rand(0, $no);
$image = $imglist[$random];
 
//輸出結果
echo '<img src="'.$img_folder.$image.'" border=0/>';

如果要通過這個函數變換頁面背景的話,可以把最後一句改為:

1
2
echo '<body style="backgroud-image:url("'.$img_folder.$image.'">';
</body>

並用整段程序替換標簽。

如果需要多次調用此程序的話,可以寫成一個函數,各位按需要改寫。

總結

用PHP的方法來輸出隨機圖片的好處是:

1.維護簡單,只需要控制目錄裡圖片的數量。

2.可以自定義文件類型,只要你有需要,改成隨機輸出一個Flash也行的

3.可以自定義輸出結果,換句話說,用在什麼地方都行了

4.改寫成函數後功能更強大

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved