如果不知道图片文件的扩展名,可以尝试通过以下方法设置img src:
$file = 'path/to/image'; // 图片文件路径
$handle = fopen($file, 'r');
$bytes = fread($handle, 4); // 读取文件前4个字节
fclose($handle);
$ext = '';
if ($bytes === "\x89PNG") {
$ext = 'png';
} elseif (substr($bytes, 0, 2) === 'BM') {
$ext = 'bmp';
} elseif ($bytes === 'GIF8') {
$ext = 'gif';
} elseif ($bytes === "\xFF\xD8\xFF\xE0" || $bytes === "\xFF\xD8\xFF\xE1") {
$ext = 'jpg';
}
echo '
';
以上两种方法都是根据图片文件的前几个字节来判断图片的真实格式,并给img src设置正确的扩展名。但并非所有图片文件都具有唯一的文件头信息,因此可能存在一定的误判情况。
上一篇:不知道控制器路由是如何工作的