php 读取文件头判断文件类型的实现代码
程序员文章站
2022-11-14 19:23:50
php代码实现读取文件头判断文件类型,支持图片、rar、exe等后缀。案例:复制代码 代码如下:
php代码实现读取文件头判断文件类型,支持图片、rar、exe等后缀。
案例:
<?php $filename = "11.jpg";
//为图片的路径可以用d:/upload/11.jpg等绝对路径
$file = fopen($filename, "rb");
$bin = fread($file, 2); //只读2字节
fclose($file);
$strinfo = @unpack("c2chars", $bin);
$typecode = intval($strinfo['chars1'].$strinfo['chars2']);
$filetype = '';
switch ($typecode) {
case 7790: $filetype = 'exe'; break;
case 7784: $filetype = 'midi'; break;
case 8297: $filetype = 'rar'; break;
case 255216: $filetype = 'jpg'; break;
case 7173: $filetype = 'gif'; break;
case 6677: $filetype = 'bmp'; break;
case 13780: $filetype = 'png'; break;
default: echo'unknown';
}
echo'这是一个'.$filetype.' file:'.$typecode;
案例:
?>
//linux下php还有个函数可以判断文件类型
<?php
echo mime_content_type('11.gif') . "\n";
echo mime_content_type('22.php');
?>
案例:
复制代码 代码如下:
<?php $filename = "11.jpg";
//为图片的路径可以用d:/upload/11.jpg等绝对路径
$file = fopen($filename, "rb");
$bin = fread($file, 2); //只读2字节
fclose($file);
$strinfo = @unpack("c2chars", $bin);
$typecode = intval($strinfo['chars1'].$strinfo['chars2']);
$filetype = '';
switch ($typecode) {
case 7790: $filetype = 'exe'; break;
case 7784: $filetype = 'midi'; break;
case 8297: $filetype = 'rar'; break;
case 255216: $filetype = 'jpg'; break;
case 7173: $filetype = 'gif'; break;
case 6677: $filetype = 'bmp'; break;
case 13780: $filetype = 'png'; break;
default: echo'unknown';
}
echo'这是一个'.$filetype.' file:'.$typecode;
案例:
复制代码 代码如下:
?>
//linux下php还有个函数可以判断文件类型
<?php
echo mime_content_type('11.gif') . "\n";
echo mime_content_type('22.php');
?>
上一篇: 析构函数与php的垃圾回收机制详解
下一篇: 利用curl抓取远程页面内容的示例代码