办法1
<?php /********************************************** * Filename : img.php * Author : freemouse * Usage: * <img src=img.php> * <img src=img.php?folder=images2/> ***********************************************/ if($_GET['folder']){ $folder=$_GET['folder']; }else{ $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("Content-type: image/gif"); elseif(substr($files[$random],-3)=='jpg') header("Content-type: image/jpeg"); readfile("$path/$files[$random]"); ?>
方法二:
<? $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函数从数组中随机抽出一个单元 ?> <img src="<?=$array[$suiji]?>">
办法3
<?php $img_array = glob('images/*.{gif,jpg,png,jpeg,webp,bmp}', GLOB_BRACE); if(count($img_array) == 0) die('没找到图片文件。请先上传一些图片到 '.dirname(__FILE__).'/images/'); header('Content-Type: image/png'); echo(file_get_contents($img_array[array_rand($img_array)])); ?>
以上的代码会查找 images
目录下的所有图片,并随机挑选出一张显示出来