随机图片调用实现方法


实现方法一(服务器本地图片调用)

存放位置: 网站根目录下(一般情况,也可以直接存在你需要随机的图片文件夹内),本示例使用根目录下的photo文件夹。

创建文件: 创建一个*.php的文件,命名随意了,主要是好记,本示例取名叫api.php,然后编辑将一下代码复制入内。

<?php
header('Content-type: image/jpg'); #2、图片统一格式jpg,也可以按照你文件夹格式定义#
$img_array = glob("./photo/*.{gif,jpg,png}",GLOB_BRACE);  #3、图片调用位置及类型参数#
$img = array_rand($img_array);
$image = file_get_contents($img_array[$img]);
echo $image;
?>

第二行(#2):
header('Content-type: image/jpg'); 
需注意存放图片的文件夹内统一格式,如图片为jpg,则image/jpg。如图片为png,则image/png。

第三行(#3):

其中自定义图片的目录及类型在第三行,或将下面代码修改复制替换:

原代码位置 :$img_array = glob("./*.{gif,jpg,png}",GLOB_BRACE);
如需变动图片位置,对该代码修改,如photo是图片目录名,可以更改为photo,如你命名为其他,按照你的文件夹名称命名:
$img_array = glob("./photo/*.{gif,jpg,png}",GLOB_BRACE);

其中可图片格式可扩大化兼容,可以修改成{gif,jpg,png,jpeg,webp,bmp}多种支持。

然后复制替换第三行,这样就可以调用 photo 目录下的图片了。
示例:

 

调用方式: 浏览器输入 http://你的域名/api.php ,随机调用文件夹的(jpg、png、gif格式)照片显示。

创建结构:

根目录

-文件夹:photo      #对应API.PHP文件img_array的调用地址,存放图片文件

    -文件:*.jpg/*.png/*.gif/*.webp      #对应API.PHP文件中第二第三行的格式,放置统一格式的图片

-文件    :api.php      #创建的php调用(复制代码)

 

实现方法二(其他服务器或图床图片调用)

存放位置: 网站根目录(我就是偷懒,你也可以找个目录放置),创建的文件均存放在此。

创建文件:

1、创建记录图片地址的txt文本文档。

这里比方说你采用的是图床,只要把你的图片链接地址复制进txt就好了,一行一链接。如果用其他的也是一样,用图片正确的网络地址(可先检查能否正常打开)。
按照示例,我给该文本文档取名叫做"photolist.txt",在接口文件中,调用该文本文档。存放网站根目录。

2、创建接口PHP文档。

然后在创建api.php(按需取名吧,随便啥名.php)作为api接口,并进行编辑保存。存放网站根目录。
代码如下:

<?php
//存有链接的文件名,例如 “photolist.txt”
$filename = "photolist.txt";
if(!file_exists($filename)){
	die('查找photolist,如果找不到肯定是你忘记了');
}
 //从文本获取链接
$pics = [];
$fs = fopen($filename, "r");
while(!feof($fs)){
	$line=trim(fgets($fs));
	if($line!=''){
		array_push($pics, $line);
	}
}
 //从数组随机获取链接
$pic = $pics[array_rand($pics)];
 //返回指定格式
$type=$_GET['type'];
switch($type){
 //JSON返回
case 'json':
	header('Content-type:text/json');
	die(json_encode(['pic'=>$pic]));
 
default:
	die(header("Location: $pic"));
}

复制完成后,将第三行$filename = "photolist.txt";里面的photolist.txt记得替换成与你命名一致的文本文档。

调用方式: 浏览器输入 http://你的域名/api.php ,随机调用文件夹的(jpg、png、gif格式)照片显示。

创建结构:

根目录

-文件    :photolist.txt      #存放图片链接的文本文档

-文件    :api.php      #创建的php调用(复制代码)

 

实现方法三(使用免费的API接口)

你也可以通过自建图床+创建随机来实现。总之,办法总比困难多,实在搞不定,就自己百度 ”随机图片API“ ,网上很多很多。这个方法是最省事的,唯一的缺点就是图片内容你无法控制。

然后还有其他方法可以实现,但是我懒,就这样,差不多得了。

 


MrdT Dec. 18, 2022, 2:06 a.m. 806 收藏文档