php 读取文件头断定文件类型的实现代码
添加时间:2013-8-5 点击量:
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: echounknown;
}
echo这是一个.¥fileType. file:.¥typeCode;
?>
例2:
<?php
//linux下php还有个函数可以断定文件类型
echo mime_content_type(11.gif) . \n;
echo mime_content_type(22.php);
?>
文艺不是炫耀,不是花哨空洞的文字堆砌,不是一张又一张的逆光照片,不是将旅行的意义转化为名牌包和明信片的物质展示;很多时候它甚至完全不美——它嘶吼、扭曲,它会痛苦地抽搐,它常常无言地沉默。——艾小柯《文艺是一种信仰》
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: echounknown;
}
echo这是一个.¥fileType. file:.¥typeCode;
?>
例2:
<?php
//linux下php还有个函数可以断定文件类型
echo mime_content_type(11.gif) . \n;
echo mime_content_type(22.php);
?>