自建随机图片API_[网络整合]

自建随机图片API_[网络整合]

kezhan5241
2024-08-06 / 0 评论 / 50 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2024年08月07日,已超过76天没有更新,若内容或图片失效,请留言反馈。

前言

本篇的教学自建随机图片API其实可以根据这个关键词来搜索,有很多类似的教学方法,但是很多已经年代久远、速度缓慢,或者是分类不全不太符合口味,所以选择自建一个,图片都是自己挑选的,不喜欢也可以更换,方便维护。

教程1

创建随机图片api有两个选择

  1. 创建本地的随机图片
  2. 上传到github或腾讯的对象存储等

但是它们都需要下面的两个文件来作为存放照片路径和程序的地方

准备创建两个这样的空文件

工具

我们都知道想要访问图片要么是图片存在本地的要么存在“网上”
我这里用的是腾讯云的对象存储,有免费的50G的空间,按流量付费每天的流水才几分钱(毕竟我的站点没人看)
腾讯云对象存储

也可以使用七牛云作为照片存储的地点,速度还是很快的。
要是它们搞不懂也可以用其他家搭建的图床,如:sm.ms | 图壳 | z4a | imgurl 等。【注:有些网站需要注册】

代码文件

img.txt文件的作用是用来存放,上传图片后获取到访问链接,如图显示
用来存放照片链接

img.php文件是用来随机获取图片链接输出的PHP

代码

<?php
//此php和保存链接的txt文件放在同一目录下
$filename = "img.txt";  /*保存链接的txt文件名*/
if(!file_exists($filename)){
    die('文件不存在');
}
//从文本获取链接
$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"));
}
?>

注意事项

把上面两个文件【.txt文件和.php文件】放在云存储或者网站任意目录下,注意都要放在同一级目录,比如同时放在……/Random/Photo/img.txt和……/Random/Photo/img.php
类似我这种就行

最后的访问地址就是:你的域名/你存放文件的目录/img.php 如:blog.zluolan.cn/photoapi/img.php

教程2

这篇跟教程1差不多,做多的就是随机输出图片的代码不一样,但是它们都需要存放在同一目录下才能正常运行。

文件

同样需要img.txt文件来存放照片访问链接,这里不多赘述,直接看随机输出图片的代码

在写一个读取链接并重定向的 random.php

<?php
//存有美图链接的文件名img.txt
$filename = "img.txt";
if(!file_exists($filename)){
    die('文件不存在');
}
 
//从文本获取链接
$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"));
}
?>
本篇文章的所有信息基本来源于自建随机图片API | 制作自己的随机图API,快速、稳定、简易!然后我在进行整合
0

评论 (0)

取消