自己制作一个本地图片api接口

sunfeng 2024-05-15 22:26 阅读数 84 #synology

如何傻瓜式的动手做一个API 图片API/动漫API/随机图片

 

准备工作:

准备一个域名,一个服务器(虚拟主机也可以,需要支持PHP)

 

本地图片API制作方法:

新建一个PHP文件(例:api.php),在创建一个images文件夹,把图片放进去

把api.php文件和images文件夹上传到服务器,然后访问  域名/api.php  文件名就可以啦

例:https://domain.com/api.php

php代码如下:

<?php
header('Content-Type: image/png'); // 先默认设置为 png 类型

$galleryPath = './images'; // 替换为实际的图库路径

if (isset($_GET['image'])) {
    $imageName = $_GET['image'];

    $extension = pathinfo($imageName, PATHINFO_EXTENSION);

    switch ($extension) {
        case 'gif':
            header('Content-Type: image/gif');
            break;
        case 'jpg':
        case 'jpeg':
            header('Content-Type: image/jpeg');
            break;
        case 'png':
            header('Content-Type: image/png');
            break;
        case 'webp':
            header('Content-Type: image/webp');
            break;
        case 'bmp':
            header('Content-Type: image/bmp');
            break;
        case 'ico':
            header('Content-Type: image/x-icon');
            break;
        case'svg':
            header('Content-Type: image/svg+xml');
            break;
    }

    $imagePath = $galleryPath. '/'. $imageName;
} else {
    $images = scandir($galleryPath);
    $randomImage = $images[array_rand($images)];

    $randomExtension = pathinfo($randomImage, PATHINFO_EXTENSION);

    switch ($randomExtension) {
        case 'gif':
            header('Content-Type: image/gif');
            break;
        case 'jpg':
        case 'jpeg':
            header('Content-Type: image/jpeg');
            break;
        case 'png':
            header('Content-Type: image/png');
            break;
        case 'webp':
            header('Content-Type: image/webp');
            break;
        case 'bmp':
            header('Content-Type: image/bmp');
            break;
        case 'ico':
            header('Content-Type: image/x-icon');
            break;
        case'svg':
            header('Content-Type: image/svg+xml');
            break;
    }

    $imagePath = $galleryPath. '/'. $randomImage;
}

if (file_exists($imagePath)) {
    readfile($imagePath);
} else {
    http_response_code(404);
}
?>

一个本地图片API接口就只做好了,既可以显示随机图片,也可以显示指定图片

打开浏览器输入:

https://domain.com/api.php       随机显示images文件夹下的图片

https://domain.com/api.php?image=name.png     显示指定文件名的图片

外链图片API

制作方法

新建一个PHP文件(例:api.php)与   images.txt文档文件,把外链图片地址写进images.txt

把php文件和txt文档上传到服务器里,然后访问  域名/api.php  文件名就可以啦

例:https://domain.com/api.php

PHP代码如下:

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

TXT文件内容:

http://domain.com/img/pc/pc_1.jpg
http://domain.com/img/pc/pc_2.jpg
http://domain.com/img/pc/pc_3.jpg
......


 


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

搜索
标签列表