當時想做一個隨機更換背景圖片的功能,用JavaScript寫的話,程式流程應該是:建立一個圖片數組->隨機選擇數組裡其中一個值->產生樣式並寫入body標籤。
可是用JS做的話,有以下缺點:
1.萬一瀏覽器禁用了JS的話就失效了,而且寫程式碼是需要考慮相容性。
2.維護比較麻煩,圖片的位置都存放在陣列裡。
於是我提議用PHP處理,可是我和她對PHP都是半桶水的,一時之間也想不出怎麼做。今天時運高,看到一個PHP隨機顯示目錄下圖片的源碼,學習一下,並分享之。
先看看原理:從一個目錄裡取得某類型檔案的清單(用在WEB的話一般是jpg/gif/png)->透過隨機函數選一個圖片->輸出程式碼。
PHP程式碼如下:
$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/" alt="" />';
如果要透過這個函數轉換頁面背景的話,可以把最後一句改為:
程式碼如下:
echo '<body style="background-image:'.$img_folder.$image.'>';</body>
並用整段程式取代
標籤。如果需要多次呼叫此程式的話,可以寫成一個函數,各位依需求改寫。
總結
用PHP的方法來輸出隨機圖片的好處是:
1.維護簡單,只需要控制目錄中圖片的數量。
2.可以自訂檔案類型,只要有需要,改成隨機輸出一個Flash也行的
3.可以自訂輸出結果,換句話說,用在什麼地方都行了
4.改寫成函數後功能更強
以上就介紹了氣像台發布的衛星雲圖顯示PHP 獲取目錄下的圖片並隨機顯示的代碼,包括了氣像台發布的衛星雲圖顯示方面的內容,希望對PHP教程有興趣的朋友有所幫助。