php下载随机api图片_随机图片API:PHP随机调用文件夹下的图片

2924.html

前言

之前看到一个死活宅朋友,做了个随机图片API。于是,我也忍不住,想弄一个。然后,就没有然后了(捂脸)。最近才又想起来,于是就决定老老实实弄一个。

注意事项

1、本API有缓存,也就是修改PHP文件后可能有些东西不会即时生效,我也不知道缓存在哪里了,估计是在服务器上,也不知道如何清除缓存,需要等待一段时间后,才会刷新

2、本源码放在网站根目录,则调用的文件夹为根目录下的img文件夹内的图片

3、本源码具有HTTP/HTTPS自适应

4、本源码支持URL、JSON、XML、302跳转以及直接显示图片的形式调用。其中URL指的是的直接显示图片链接,302跳转指的是访问API时会跳转到图片文件的链接。

5、请修改$domain = 为自己的域名

6、如有任何疑问,请在评论区评论,我看到以后也会当做没看到(逃

源码

//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 = "\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 .= "" . 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 ''.$result['img'].'';

break;

}

实现效果

Json:

www.xjh.me-2017-08-14_03-37-59_861906-1.png

XML:

www.xjh.me-2017-08-14_03-38-20_614109-2.png

2924.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要用PHP调用聚合证件识别API接口,你可以使用cURL库来发送HTTP请求。以下是一个简单的示例: ```php <?php $api_key = 'YOUR_API_KEY'; $api_secret = 'YOUR_API_SECRET'; $url = 'https://api.juheapi.com/xxxxx'; // 替换为实际的API地址 $data = array( 'key' => $api_key, 'secret' => $api_secret, // 其他参数 ); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); // 检查证书中是否设置域名,2表示强制检查 curl_setopt($ch, CURLOPT_CAINFO, '/path/to/ca-bundle.crt'); // 替换为实际的证书文件路径 $result = curl_exec($ch); if (curl_errno($ch)) { echo 'Error: ' . curl_error($ch); } else { echo $result; } curl_close($ch); ?> ``` 其中,`$api_key`和`$api_secret`是你在申请API时获得的密钥。`$url`是API地址,具体的API参数可以通过查看API文档来确定。`$data`是要发送的数据,使用`http_build_query`函数将其转换为URL编码的字符串。`curl_setopt`函数用于设置cURL库的选项,其中比较重要的是`CURLOPT_SSL_VERIFYPEER`和`CURLOPT_SSL_VERIFYHOST`,用于开启SSL验证和设置域名检查的级别。`CURLOPT_CAINFO`用于指定根证书的文件路径。 你需要将实际的API地址、证书文件路径和其他参数替换为自己的。同时,为了确保安全性,建议将密钥和证书文件路径存储在配置文件中,而不是直接写在代码中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值