You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从无扩展名的图片URL中获取图片文件扩展名?

解决Picsum图片URL无法用pathinfo获取扩展名的问题

这个URL的路径部分没有显式包含文件扩展名(如.jpg),pathinfo()只能解析URL中存在的后缀字段,因此返回空字符串。可以通过以下两种方法解决:

方法1:解析HTTP响应头获取扩展名

通过get_headers()获取图片的响应头,提取Content-Type字段后映射为对应扩展名:

$url = 'https://picsum.photos/200/200?random=61081';
$headers = get_headers($url, 1);
$contentType = $headers['Content-Type'];

$extMap = [
    'image/jpeg' => 'jpg',
    'image/png' => 'png',
    'image/gif' => 'gif'
];

$extension = $extMap[$contentType] ?? 'unknown';
echo $extension;

方法2:通过图片内容直接识别类型

使用getimagesize()读取图片数据,根据返回的类型常量映射扩展名:

$url = 'https://picsum.photos/200/200?random=61081';
$imageInfo = getimagesize($url);

$extMap = [
    IMAGETYPE_JPEG => 'jpg',
    IMAGETYPE_PNG => 'png',
    IMAGETYPE_GIF => 'gif'
];

$extension = $extMap[$imageInfo[2]] ?? 'unknown';
echo $extension;

内容的提问来源于stack exchange,提问作者panthro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 01:03:14