php 图像方法,分享PHP 实现随机图像功能的几个方法

分享几个php实现的随机显示图片的函数,可以将指定文件夹中存放的图片随机地显示出来。

网上看了下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)]));

?>

PHP 实现随机图像功能方法二:

php通过rand()函数产生随机数,这个函数可以产生一个指定范围的数字,这段代码通过产生的随机数,随机选择图片。

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 : %24image_file";

?>

PHP 实现随机图像功能三:

$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函数从数组中随机抽出一个单元

?>

<?=%24array%5B%24suiji%5D?>

PHP 实现随机图像功能四:

/**********************************************

* Filename : img.php

* Author : freemouse

* Usage:

* img.php

* 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]");

?>

以上的代码会查找 images 目录下的所有图片,并随机挑选出一张显示出来。如果一时找不到好的图片素材,可以去本站福利图片找找看看哦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值