本文分享一个php实现的随机显示图片的函数,可以将指定文件夹中存放的图片随机地显示出来。有兴趣的朋友研究下吧。
php通过rand()函数产生随机数,这个函数可以产生一个指定范围的数字
这段代码通过产生的随机数,随机选择图片
?
2 3
|
<🎜>srand( microtime() * 1000000 );<🎜> <🎜>$num = rand( 1, 4 );<🎜> <🎜> <🎜> <🎜>switch( $num )<🎜> <🎜>{<🎜> <🎜>case 1: $image_file = "/home/images/alfa.jpg";<🎜> <🎜>break;<🎜> <🎜>case 2: $image_file = "/home/images/ferrari.jpg";<🎜> <🎜>break;<🎜> <🎜>case 3: $image_file = "/home/images/jaguar.jpg";<🎜> <🎜>break;<🎜> <🎜>case 4: $image_file = "/home/images/porsche.jpg";<🎜> <🎜>break;<🎜> <🎜>}<🎜> <🎜>echo "Random Image : "; ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 | <🎜> <🎜>$handle = opendir('./'); //当前目录<🎜> <🎜>while (false !== ($file = readdir($handle))) { //遍历该php教程文件所在目录<🎜> <🎜>list($filesname,$kzm)=explode(".",$file);//获取扩展名<🎜> <🎜>if ($kzm=="gif" or $kzm=="jpg") { //文件过滤<🎜> <🎜>if (!is_dir('./'.$file)) { //文件夹过滤<🎜> <🎜>$array[]=$file;//把符合条件的文件名存入数组<🎜> <🎜>}<🎜> <🎜>}<🎜> <🎜>}<🎜> <🎜>$suiji=array_rand($array); //使用array_rand函数从数组中随机抽出一个单元<🎜> <🎜>?> |
方法三:
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 27 28 29 |
/************************************************ * 文件名:img.php * 作者:freemouse * 用法: * * *****************************************************/ if($_GET['文件夹']){ $folder=$_GET['folder']; }其他{ $folder='/images/'; } //存放图片文件的位置 $path = $_SERVER['DOCUMENT_ROOT']."/".$folder; $files=array(); if ($handle=opendir("$path")) { while(false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { if(substr($file,-3)=='gif' || substr($file,-3)=='jpg') $files[count($files)] = $file; } } } closedir($handle); $random=rand(0,count($files)-1); if(substr($files[$random],-3)=='gif') header("内容类型:图像/gif"); elseif(substr($files[$random],-3)=='jpg') header("内容类型:image/jpeg"); readfile("$path/$files[$random]"); ?> |