什么是随机图片

随机图片是什么呢?通俗的讲就是当你访问一个网址时,浏览器会随机返回给你一张图片。

其实原理很简单,把你要随机的图片放在一起,然后写一个php,当文件被访问时,就随机指向这些图片中的一个返回给浏览器。

演示:

手动打开

教程

方法1

在制作随机图片之前你得先拥有一个服务器,并且为服务器装好php,这样你的.php文件需要放在服务器上才能被别人访问。

php文件的内容就很简单啦。

命名为img.php

内容如下:

<?php
$img=file('img.txt');
$url=array_rand($img);
header("Location:".$img[$url]);
?>

接着把你想要随机的图片上传到一个图床上。(大家想用什么图床都可以,个人比较推荐sm图床)

如果你看得懂上面的php代码,那么你肯定知道接下来该怎么做了。

img.php文件的同一目录下新建一个.txt文件,命名为img.txt,将你之前上传到图床上的图片的地址放到里面,一个地址一行,你的随机图片就做好了。

方法2

这是博主自己写的代码,只要把下面代码复制到index.php文件中,然后在同目录下放入想要随机出现的图片就好了。

记得要把代码中你的域名替换掉。

<?php
$dir = dirname(__FILE__);
$file = scandir($dir);
$s=sizeof($file);
$x=rand(0,$s);
while(substr($file[$x],-3)!="jpg" && substr($file[$x],-3)!="png"){
$x=rand(0,$s);
}
$img="http://你的域名/".$file[$x];
// echo "<img src=$img>";
header("location:$img");
?>

这个代码只能识别.jpg.png图片,如果想要识别其他类型图片,只要将while里的条件再并上相应后缀就行了。

如果不想要页面跳转,而是只在当前页面显示图片,把header函数注释掉,然后把echo "<img src=$img>";取消注释就好了

调用

制作完之后肯定要调用的啦,所以随机图片的地址就是:https://你的域名/img.php

这里img.phpimg可以不同,但要和上传到服务器上的文件名相同,如果名为index.php且同目录下没有其他index文件,可以直接用https://你的域名调用

我的随机图片

教完你们之后就要推广一下我的随机图片啦。

由于本蒟蒻是一个从来不氪金的乖孩子(其实是因为我穷),

使用的主机当然是物美价廉的免费主机啦。

随机图片

由于我想把随机图片运用到背景上面,所以我专门分类了一个背景图片的api:(许多图片的长宽比例不适合作为背景,所以背景随机图片有点少)

背景随机图片

图片来源是p站,收集图片耗费了我数天时间(其实是小飞机不给力,图片不算很多,毕竟p站是要翻墙的),旨在提供高清图片。

图片后续还会增加,可能会有点慢,毕竟爬虫是无法分辨图片是否好看(其实是我太蒻了不会写爬虫)。

如果你有更好的高清图片(一定要高清哦),或者发现我的背景随机图片中有不适合做背景的图片,请联系我。

随机图片api的更多相关文章

  1. 15个随机图片API

    15个随机图片API 妈妈再也不用担心我网站没图用了呜 请不要重复刷新此页面 ! 找了很久的说,你难道不想收藏一下吗 其中有些 API 速度并不太好,可能会拖慢贵站的速度 我也不能保证这些 API 能 ...

  2. PHP随机图片API

    相比上一个版本代码缩短了 此版本为图片专用 查看代码 <?php $img=file('img.txt');//txt文件 $url=array_rand($img);//imgtxt文档里面图 ...

  3. 整理记录一些好用的随机图API

    最近自己博客使用的随机图API有些不稳定,自己又去搜集了一些有意思的随机图API,这里做一个整理记录 注意!!!本文链接最后测试时间----2021年11月21日 主题作者Tagaki的API(有时候 ...

  4. 可以获取随机图片的API收集 必应 等

    食用方法可以是img标签嵌入在网页中, 也可以在iwall.app里面设置你的桌面背景.还有其他好用的API吗? 请在下放留下您的评论. 非常感谢! 速度: ★★★★★ 功能: 返回Bing的随机图片 ...

  5. 新浪随机图片壁纸API接口 刷新网页换背景接口

    刷新一次页面换一次图片,可以调用到你的网站背景里面去,多炫酷啊,刷新一下本页看下效果哦. 说明:随机图片壁纸api,调用的是新浪api,速度不用担心,图片资源也很多 电脑动漫图片:http://api ...

  6. 获取Bing每日图片API接口

    bing图片每日更新,对于这一点感觉挺不错的,如果能够把bing每日图片作为博客背景是不是很不错呢?首先我们进入Bing首页,会发现自动转到中国版.不过这没关系,中国版更符合国情,速度也比国际版快一些 ...

  7. JQuery:JQuery基本语法,JQuery选择器,JQuery DOM,综合案例 复选框,综合案例 随机图片

    知识点梳理 课堂讲义 1.JQuery快速入门 1.1.JQuery介绍 jQuery 是一个 JavaScript 库. 框架:Mybatis (jar包) 大工具 插件:PageHelper (j ...

  8. 【vps】教你写一个属于自己的随机图API

    [vps]教你写一个自己的随机图API 前言 刚刚开始使用halo博客的时候,我就发现halo博客系统是可以使用随机图当背景的,所以也是使用了网上一些比较火的随机图API. 在上次发现了各种图片API ...

  9. PHP 生成指定大小随机图片

    PHP 生成指定大小随机图片 <?php $image_width = 100; $image_height = 100; $image_str = ''; if (isset($_GET['w ...

随机推荐

  1. Alpha 冲刺报告(9/10)

    Alpha 冲刺报告(9/10) 队名:洛基小队 峻雄(组长) 已完成:角色属性功能的测试版 明日计划:准备α版本的ppt 剩余任务:尽量完成角色属性功能 困难:缺乏编程经验,很难自己独立完成编写,只 ...

  2. 【转载】socket 的 connect、listen、accept 和全连接队列、半连接队列的原理

    转自:http://blog.csdn.net/tennysonsky/article/details/45621341 写在前面: 1. accept 只是从全连接队列拿出一个已经建立好的socke ...

  3. adb shell 运行时报错"adb server version (26) doesn't match this client (39); killing..."的解决方案

    adb即 Android Debug Bridge 是一个通用的命令行工具,可用于通过PC端对连接的Android模拟器设备或连接至电脑的真实物理设备进行命令行操作.目前,许多软件均会借助 adb 工 ...

  4. Operating System-Thread(3)用户空间和内核空间实现线程

    http://www.cnblogs.com/Brake/archive/2015/12/02/Operating_System_Thread_Part3.html 本文主要内容: 操作系统用户空间和 ...

  5. 20165318 2017-2018-2 《Java程序设计》第七周学习总结

    20165318 2017-2018-2 <Java程序设计>第七周学习总结 目录 学习过程遇到的问题及总结 教材学习内容总结 第11章 JDBC与MySQL数据库 错题总结 第五周错题总 ...

  6. 【CodeChef】Prime Distance On Tree

    vjudge 给定一棵边长都是\(1\)的树,求有多少条路径长度为质数 树上路径自然是点分治去搞,但是发现要求是长度为质数,总不能对每一个质数都判断一遍吧 自然是不行的,这个东西显然是一个卷积,我们合 ...

  7. 【转】PHP面试题总结

    PHP面试总结 PHP基础 1:变量的传值与引用. 2:变量的类型转换和判断类型方法. 3:php运算符优先级,一般是写出运算符的运算结果. 4:PHP中函数传参,闭包,判断输出的echo,print ...

  8. robotframwork的WEB功能测试(二)—登录

    小结一下截止到目前,我接触的系统的登录模拟. 1. 带token的session:这种用抓包工具很容易抓到,使用这个链接就可以模拟已登录. 2. 使用cookie:有的系统是判断cookie来判断是否 ...

  9. ZooKeeper分布式专题与Dubbo微服务入门

    第1章 分布式系统概念与ZooKeeper简介对分布式系统以及ZooKeeper进行简介,使得大家对其有大致的了解1-1 zookeeper简介1-2 什么是分布式系统1-3 分布式系统的瓶颈以及zk ...

  10. 【html】点击链接让页面在 iframe 中变换

    Demo: <html><body> <a href= "1.html " target= "iFrameName "> p ...