搭建随机图片API
本文发布于685天前,最后更新于112天前,其中的信息可能有所发展或是发生改变。如有疑问请联系邮箱:admin@yemengstar.com。

想法

搭建好BLOG和TECH,我一直觉得里面的随机图片很好看。依靠baidu我大概了解到这个是依靠API实现的。于是乎,我自己也想整一个(毕竟图片在自己手上用的放心捏)。再也不怕别人的API接口失效力!

建设

方法如下:

本地搭建

初步建设

将图片放于本地服务器中(与网站同目录下)
当然你想当外链使用也可以

首先在网站根目录下创建一个文件夹 photos 和一个名为 api.php 的文件。

然后在photos的文件夹内放图片,在api.php内编写如下代码:

<?php
$img_array = glob("photos/*.{gif,jpg,png}",GLOB_BRACE); 
$img = array_rand($img_array); 
$dz = $img_array[$img];
header("Location:".$dz);
?> 

保存即可,通过api即可随机调用img文件夹中的图片。

使用方法

访问地址:http://你的域名/api.php就可以啦!可以选择套CDN加速!

不足

不过这种方法不足的就是会对服务器造成较大的压力,毕竟是本地文件,加载还是要消耗一定资源的。

所以:

外链图片

初步建设

将图片放于其他服务器中,或者是图床中
当然你想当本地使用也可以

也是在网站的根目录下面先创建 photos.txt 和 api.php 文件(这个网站可以不用index首页,反正就是放个图片对吧?)

当然,如果你想创建默认页面,放入index网页即可!

然后在photos.txt文档内放图片外链地址(一行一个),在api.php加入下列代码:

<?php
$arr=file('photos.txt');
$n=count($arr)-1;
for ($i=1;$i<=1;$i++){
$x=rand(0,$n);header("Location:".$arr[$x],"\n");}
?> 

使用方法

最后访问地址:http://你的域名/api.php即可!

这种方法的好处是可与将图片存放到外面以降低服务器压力(还可以白嫖一些图床)。不过对图片存放源的带宽有一定的要求(你也不想图片加载半天加载不出来吧~)


Python

一些补充的东西(本地提取图片命名)

(其实就是我自己比较懒)

我的图片放在网站根目录下的photos文件夹中,所以采用如下方式。如果你的图片放在对象存储中,则直接在TXT文件中写入每张图片的位置(一行一个)即可!

由于我自己的图片比较多,所以当我使用搭建外链的时候比较头疼——那么多图片的文件名得全部录入TXT中!

于是我就稍微写了两行python简化了一下工作量,代码如下(自己用的时候修改一下地址就行啦):

import os
path = "E:\WEB学习\python\photos"  #填写photos文件夹的路径
filename = 'name.txt' #你想保存的TXT文件的名字,如果没有的话会自己创建一个(默认和python执行文件同目录)
datanames = os.listdir(path)  #读取photos中的文件
for i in datanames:
    with open(filename, 'a') as f:  #'w'表示写数据,写之前会清空文件中的原有数据!'a'的话是往后接着写数据!
        f.write('photos/'+i)  #是否带有文件夹名看自己的需求
        f.write('\n')

读完以后就会产生像下面的一个TXT文件:

然后就好了……

本文为夜梦星尘原创文章。
文章作者:夜梦星尘
文章链接:搭建随机图片API
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自夜梦星尘
支持作者:夜梦星尘的爱发电
上一篇
下一篇