IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> php搭建博客首页随机图片api -> 正文阅读

[PHP知识库]php搭建博客首页随机图片api

原文博客链接:https://www.wkeyu.cn/171.html

搭建一个简单的首页随机图片api接口

引言

事情是这样的,我的博客首页图片之前一直用的是网上找的必应的接口,图片每天会自动更新成必应的每日一图,但是今天访问时首页背景突然变成了空白,通过开发者工具控制台发现是之前的图片接口不能用了。网上找接口又很麻烦,图片也不一定是自己喜欢的,最重要的是不够稳定,于是就想自己尝试简单搭建一个随机图片api。

理一下思路:

  1. 准备好我们需要的图片。
  2. 通过PicGo上传到阿里云OSS图床里,输出上传后的图片地址。
  3. 部署到服务器中
  4. 通过api调用

实现

1. 准备图片

我选择的是必应图片下载榜中的一些图片,将它们下载下来保存到本地。

image-20210729140441143

2. 获得图片链接地址

通过PicGo上传到阿里云OSS图床,获得上传后的图片地址,放入img.txt文件中。

如何部署PicGo+阿里云OSS搭建个人图床请参考我的博客——《Typora配置阿里云图床详细教程》

3. 部署服务器

我的个人博客是部署在我的阿里云服务器上,所以我直接使用该云服务器来搭建随机图片api。没有云服务器的用户可以参考我的博客文章——《阿里云服务器搭建个人博客网站详细流程》

  • 我们打开宝塔控制面板,找到我们的域名文件夹:

image-20210729141559677

  • 在该文件夹下新建两个文件——img.txt和random.php

    (服务器一定要有php环境)

    image-20210729141741147

  • img.txt文件存放我们获得的图片链接

    image-20210729141946256

  • 配置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访问图片

通过http://域名/random.php即可调用我们的api接口;

此时,访问我们的博客www.wkeyu.cn会发现首页图片已经变成了我们上传的图片,并且每次刷新会随机更换。

p即可调用我们的api接口;

此时,访问我们的博客www.wkeyu.cn会发现首页图片已经变成了我们上传的图片,并且每次刷新会随机更换。

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章           查看所有文章
加:2021-07-31 16:22:59  更:2021-07-31 16:26:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/4 18:58:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码