PHP code sharing to determine file type based on file header

WBOY
Release: 2016-07-25 08:57:01
Original
1218 people have browsed it
In many PHP programs, extensions are often used to determine file types. The method introduced in this article is to read the file header to determine the file type. It supports image, rar, exe and other suffixes. Friends in need can refer to it.

php reads the file header to determine the file type, and supports image (jpg, gif, png), rar, exe and other suffixes. Code:

<?php 
//读取文件头来判断文件类型
//by bbs.it-home.org
$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;
?>
Copy after login

Example:

<?php
//方法二
//用mime_content_type函数判断文件类型
echo mime_content_type('11.gif') . "\n";
echo mime_content_type('22.php');
?>
Copy after login


source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template