PHP实现自制随机图片API- 调用文件夹和引用网络图片

简介: PHP实现随机图片API- 调用文件夹和引用网络图片

第一种

 <!-- 访问本地图片 -->
<?php
header('Cache-Control:no-cache,must-revalidate');
header('Pragma:no-cache');
header("Expires:0");
header("Access-Control-Allow-Origin:*");
//处理请求输出数据
//这将得到一个文件夹中的所有gif,jpg和png图片的数组
$rand=rand(0,1);
if($rand){
   
    $localurl="img/*.{gif,jpg,png}"; //图片所在文件夹
}else{
   
    $localurl="img/*.{gif,jpg,png}";
}
{
   mathJaxContainer[0]}localurl,GLOB_BRACE);
//从数组中选择一个随机图片 
{
   mathJaxContainer[1]}img_array);
{
   mathJaxContainer[2]}img_array[$img];
{
   mathJaxContainer[3]}_GET["https"])?$_GET["https"]:1;
if($https == "true"){
   
    {
   mathJaxContainer[4]}_SERVER['SERVER_NAME'].'/'.$imgurl;
}else{
   
    {
   mathJaxContainer[5]}_SERVER['SERVER_NAME'].'/'.$imgurl;
}
if(isset({
   mathJaxContainer[6]}_GET["type"]:1=="json"){
   
    $rTotal='0';
    $gTotal='0';
    $bTotal='0';
    $total='0';
    {
   mathJaxContainer[7]}img_array[$img]);
    //图片类型
    {
   mathJaxContainer[8]}imageInfo[2]), 1));
    //对应函数
    {
   mathJaxContainer[9]}imgType == 'jpg' ? 'jpeg' : $imgType);
    {
   mathJaxContainer[10]}imageFun({
   mathJaxContainer[11]}img]);
    //测试图片,自己定义一个,注意路径
    for($x=0;
    {
   mathJaxContainer[12]}i);
    $x++){
   
        for($y=0;
        {
   mathJaxContainer[13]}i);
        $y++){
   
            {
   mathJaxContainer[14]}i,{
   mathJaxContainer[15]}y);
            {
   mathJaxContainer[16]}rgb>>16)&0xFF;
            {
   mathJaxContainer[17]}rgb>>8)&0xFF;
            {
   mathJaxContainer[18]}rgb&0xFF;
            {
   mathJaxContainer[19]}r;
            {
   mathJaxContainer[20]}g;
            {
   mathJaxContainer[21]}b;
            $total++;
        }
    }
    {
   mathJaxContainer[22]}rTotal/$total);
    {
   mathJaxContainer[23]}gTotal/$total);
    {
   mathJaxContainer[24]}bTotal/$total);
    {
   mathJaxContainer[25]}imgurl,'Color'=>"$rAverage,$gAverage,$bAverage");
    echo json_encode($arr);
    exit();
}
//在页面显示图片地址
//echo $imgurl;
header("location:$imgurl");

第二种


 <!-- TWO  -->
<?php
//存有美图链接的文件名img.txt
$filename = "img.txt";
if(!file_exists($filename)){
   
    die('文件不存在');
}

//从文本获取链接
$pics = [];
{
   mathJaxContainer[27]}filename, "r");
while(!feof($fs)){
   
    {
   mathJaxContainer[28]}fs));
    if($line!=''){
   
        array_push({
   mathJaxContainer[29]}line);
    }
}

//从数组随机获取链接
{
   mathJaxContainer[30]}pics[array_rand($pics)];

//返回指定格式
{
   mathJaxContainer[31]}_GET['type'];
switch($type){
   

//JSON返回
case 'json':
    header('Content-type:text/json');
    die(json_encode(['pic'=>$pic]));

default:
    die(header("Location: $pic"));
}

?>
相关文章
|
5天前
|
API PHP 数据库
PHP中哪个框架最适合做API?
在数字化时代,API作为软件应用间通信的桥梁至关重要。本文探讨了PHP中适合API开发的主流框架,包括Laravel、Symfony、Lumen、Slim、Yii和Phalcon,分析了它们的特点和优势,帮助开发者选择合适的框架,提高开发效率、保证接口稳定性和安全性。
21 3
|
3月前
|
JavaScript 网络协议 API
【Azure API 管理】Azure APIM服务集成在内部虚拟网络后,在内部环境中打开APIM门户使用APIs中的TEST功能失败
【Azure API 管理】Azure APIM服务集成在内部虚拟网络后,在内部环境中打开APIM门户使用APIs中的TEST功能失败
|
3月前
|
缓存
Flutter Image从网络加载图片刷新、强制重新渲染
Flutter Image从网络加载图片刷新、强制重新渲染
112 1
|
3月前
|
机器学习/深度学习 API 算法框架/工具
【Tensorflow+keras】Keras API三种搭建神经网络的方式及以mnist举例实现
使用Keras API构建神经网络的三种方法:使用Sequential模型、使用函数式API以及通过继承Model类来自定义模型,并提供了基于MNIST数据集的示例代码。
54 12
|
3月前
|
PHP
PHP——将网络图片转为Base64
PHP——将网络图片转为Base64
43 1
|
3月前
|
机器学习/深度学习 API 算法框架/工具
【Tensorflow+keras】Keras API两种训练GAN网络的方式
使用Keras API以两种不同方式训练条件生成对抗网络(CGAN)的示例代码:一种是使用train_on_batch方法,另一种是使用tf.GradientTape进行自定义训练循环。
40 5
|
3月前
|
Java API 网络安全
探索Java中的Stream API:从基础到高级应用云计算与网络安全:技术融合与挑战
【8月更文挑战第27天】在Java的海洋中,Stream API犹如一艘强大的船,让开发者能以声明式的方式处理集合数据。本文将启航,先带你了解Stream的基本概念和用法,再深入探讨其高级特性,如并行流、管道操作以及性能考量。我们将通过具体代码示例,展示如何高效利用Stream API简化数据处理流程,提升代码的可读性和性能。无论你是初学者还是有经验的开发者,这篇文章都将为你打开一扇通往更优雅编程风格的大门。
|
3月前
|
SQL 网络协议 安全
【Azure API 管理】APIM集成内网虚拟网络后,启用自定义路由管理外出流量经过防火墙(Firewall),遇见APIs加载不出来问题
【Azure API 管理】APIM集成内网虚拟网络后,启用自定义路由管理外出流量经过防火墙(Firewall),遇见APIs加载不出来问题
|
4月前
|
存储 应用服务中间件 API
创建一个随机图片API
通过web服务器(如Apache、Nginx等)访问该文件以获取随机图片。请确保将images数组中的图片路径替换为您自己的图片路径。您还可以扩展该数组,添加更多图片作为可选内容
125 5
|
3月前
|
PHP
php怎么循环读取文件夹里的文件
`DirectoryIterator`类提供了一个接口来遍历文件系统目录。与 `glob`函数相比,使用 `DirectoryIterator`类可以获得更多文件属性信息,如文件大小、修改时间等,从而进行更复杂的文件处理操作。
37 0

热门文章

最新文章