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]");
?>