首页 技术教程 正文
  • 本文约110字,阅读需1分钟
  • 157
  • 0

PHP写一个api随机图片功能(图片保存本地)

温馨提示:本文最后更新于2024年8月13日 20:02,若内容或图片失效,请在下方留言或联系博主。

第一种方法(不显示图片路径)

第一步:新建一个文件夹,命名为:img(这个文件里放你需要的图片)
第二步:新建一个index.php文件,写入以下代码 (这个文件就是api地址)

<?php 
$img_array = glob('img/*.{gif,jpg,png,jpeg,webp,bmp}', GLOB_BRACE); 
if(count($img_array) == 0) die('没找到图片文件。请先上传一些图片到 '.dirname(__FILE__).'/img/ 文件夹'); 
header('Content-Type: image/png'); 
echo(file_get_contents($img_array[array_rand($img_array)])); 
?>

第二种方法(显示图片路径)

步骤同上,写入以下代码

<?php
function get_allfiles($path,&$files) {
    if(is_dir($path)){
        $dp = dir($path);
        while ($file = $dp ->read()){
            if($file !="." && $file !=".."){
                get_allfiles($path."/".$file, $files);
            }
        }
        $dp ->close();
    }
    if(is_file($path)){
        $files[] =  $path;
    }
}

function get_filenamesbydir($dir){
    $files =  array();
    get_allfiles($dir,$files);
    return $files;
}

$img_array = get_filenamesbydir("./img"); 
$extentions = array("jpg", "png");
do{
  $img = array_rand($img_array);
}while(!in_array(strtolower(pathinfo($img_array[$img], PATHINFO_EXTENSION)), $extentions));
header("location:$img_array[$img]"); 
?>
评论
更换验证码