PHP隨機顯示目錄下的圖片
來源:程序員人生 發(fā)布時間:2014-04-03 09:47:39 閱讀次數(shù):3032次
前言
在不久前,推特上,@doublechou(才女,大家follow之,博客)正在做主題(現(xiàn)在她暫時用iNove了)。她當(dāng)時想做一個隨機更換背景圖片的功能,用JavaScript寫的話,程序流程應(yīng)該是:建立一個圖片數(shù)組->隨機選擇數(shù)組里其中一個值->生成樣式并寫入body標(biāo)簽。
可是用JS做的話,有以下缺點:
1.萬一瀏覽器禁用了JS的話就失效了,而且寫代碼是需要考慮兼容性。
2.維護比較麻煩,圖片的位置都存放在數(shù)組里。
于是我提議用PHP處理,可是我和她對PHP都是半桶水的,一時之間也想不出怎么做。今天時運高,看到一個PHP隨機顯示目錄下圖片的源碼,學(xué)習(xí)一下,并分享之。
正文
先看看原理:從一個目錄里獲取某類型文件的清單(用在WEB的話一般是jpg/gif/png)->通過隨機函數(shù)選一個圖片->輸出代碼。
PHP代碼如下:
$imglist='';
//用$img_folder變量保存圖片所在目錄,必須用“/”結(jié)尾
$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);
//把清單里的項都放到一個數(shù)組里
$imglist = explode(" ", $imglist);
$no = sizeof($imglist)-2;
//生成一個介于0和圖片數(shù)量之間的隨機數(shù)
$random = mt_rand(0, $no);
$image = $imglist[$random];
//輸出結(jié)果
echo '<img src="'.$img_folder.$image.'" border=0/>';
如果要通過這個函數(shù)變換頁面背景的話,可以把最后一句改為:
echo '<body style="backgroud-image:url("'.$img_folder.$image.'">';
</body>
并用整段程序替換標(biāo)簽。
如果需要多次調(diào)用此程序的話,可以寫成一個函數(shù),各位按需要改寫。
總結(jié)
用PHP的方法來輸出隨機圖片的好處是:
1.維護簡單,只需要控制目錄里圖片的數(shù)量。
2.可以自定義文件類型,只要你有需要,改成隨機輸出一個Flash也行的
3.可以自定義輸出結(jié)果,換句話說,用在什么地方都行了
4.改寫成函數(shù)后功能更強大
轉(zhuǎn)自:http://blog.imbolo.com/
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機掃描二維碼進行捐贈