php获取图片真实后缀的两种方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php获取图片真实后缀的两种方法相关的知识,希望对你有一定的参考价值。
一、getimagesize(支持base64):
- 代码:
<?php /* @desc:获取图片真实后缀 @param name 文件名 @return suffix 文件后缀 */ function getimgsuffix($name) { $info = getimagesize($name); $suffix = false; if($mime = $info[‘mime‘]){ $suffix = explode(‘/‘,$mime)[1]; } return $suffix; }
- 测试:
$suffix = getimgsuffix(‘http://192.168.8.81/public/image/01.jpg‘); echo $suffix;
- 输出:
jpeg
二、二进制方法:
- 代码:
<?php /* @desc:获取文件真实后缀 @param name 文件名 @return suffix 文件后缀 */ function getfilesuffix($name) { $file = fopen($name, "rb"); $bin = fread($file, 2); // 只读2字节 fclose($file); $info = @unpack("C2chars", $bin); $code = intval($info[‘chars1‘] . $info[‘chars2‘]); $suffix = "unknow"; if($code == 255216){ $suffix = "jpg"; }elseif($code == 7173){ $suffix = "gif"; }elseif($code == 13780){ $suffix = "png"; }elseif($code == 6677){ $suffix = "bmp"; }elseif($code == 7798){ $suffix = "exe"; }elseif($code == 7784){ $suffix = "midi"; }elseif($code == 8297){ $suffix = "rar"; }elseif($code == 7368){ $suffix = "mp3"; }elseif($code == 0){ $suffix = "mp4"; }elseif($code == 8273){ $suffix = "wav"; } return $suffix; }
- 测试:
$suffix = getfilesuffix(‘http://192.168.8.81/public/image/01.jpg‘); echo $suffix;
- 输出:
jpg
以上是关于php获取图片真实后缀的两种方法的主要内容,如果未能解决你的问题,请参考以下文章