这个和平时的随机图片接口不一样,会判断当前访问者是电脑端还是移动端从而输出不同大小的图片,网站目录内需要创建两个文件夹,desktop存放电脑图片,mobile存放手机图片。
对图片做了一定的限制,仅支持jpg,jpeg,png,gif其他格式的图片无法识别。
PHP代码
<?php
$desktopFolder = 'desktop';
$mobileFolder = 'mobile';
function isMobileDevice() {
$user_agent = $_SERVER['HTTP_USER_AGENT'];
$mobile_agents = array(
'android', 'iphone', 'ipad', 'ipod', 'blackberry', 'windows ce', 'opera mini',
'webos', 'symbian', 'windows phone', 'iemobile', 'mobile', 'palm', 'palmos',
'pocket', 'psp', 'series', 'playstation', 'nintendo', 'gameboy', 'macintosh'
);
foreach ($mobile_agents as $agent) {
if (stripos($user_agent, $agent) !== false) {
return true;
}
}
return false;
}
$imageFolder = isMobileDevice() ? $mobileFolder : $desktopFolder;
$imageFiles = glob($imageFolder . '/*.{jpg,jpeg,png,gif}', GLOB_BRACE);
if (count($imageFiles) > 0) {
$randomImage = $imageFiles[array_rand($imageFiles)];
$imageInfo = getimagesize($randomImage);
$mime = $imageInfo['mime'];
header('Content-Type: ' . $mime);
readfile($randomImage);
} else {
http_response_code(404);
echo 'No images found.';
}
?>
© 版权声明
THE END
暂无评论内容