前言
之前看到一个死活宅朋友,做了个随机图片API。于是,我也忍不住,想弄一个。然后,就没有然后了(捂脸)。最近才又想起来,于是就决定老老实实弄一个。
注意事项
1、本API有缓存,也就是修改PHP文件后可能有些东西不会即时生效,我也不知道缓存在哪里了,估计是在服务器上,也不知道如何清除缓存,需要等待一段时间后,才会刷新
2、本源码放在网站根目录,则调用的文件夹为根目录下的img文件夹内的图片
3、本源码具有HTTP/HTTPS自适应
4、本源码支持URL、JSON、XML、302跳转以及直接显示图片的形式调用。其中URL指的是的直接显示图片链接,302跳转指的是访问API时会跳转到图片文件的链接。
5、请修改$domain = 为自己的域名
6、如有任何疑问,请在评论区评论,我看到以后也会当做没看到(逃
源码
<?php //This will get an array of all the gif, jpg and png images in a folder $img_array = glob("img/*.{gif,jpg,png}",GLOB_BRACE); //Domain Setting $domain = 'www.xjh.me'; //Pick a random image from the array $img = array_rand($img_array); //XML Return function array2xml($array, $wrap='ROOT', $upper=true) { // set initial value for XML string # $xml = ''; // wrap XML with $wrap TAG if ($wrap != null) { $xml = "<$wrap>\n"; } // main loop foreach ($array as $key=>$value) { // set tags in uppercase if needed if ($upper == true) { $key = strtoupper($key); } // append to XML string $xml .= "<$key>" . htmlspecialchars(urldecode(trim($value))) . "</$key>"; } // close wrap TAG if needed if ($wrap != null) { $xml .= "\n</$wrap>\n"; } // return prepared XML string return $xml; } //Result Generate $result['error']=0; $result['result']=200; $result['img']='//'.$domain.'/'.$img_array[$img]; //Type Choose $type=$_GET['type']; switch ($type) { //HTML case 'url': echo $result['img']; break; //JSON case 'json': header('Content-type:text/json'); echo json_encode($result, JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT); break; //XML case 'xml': header("Content-type:text/xml"); echo '<?xml version="1.0" encoding="UTF-8"?>'; echo array2xml($result); break; //302 Redirect case '302': header("Location:".$result['img']); break; //IMG default: echo '<img alt="'.$result['img'].'" src="'.$result['img'].'" />'; break; }