php 读取文件头判断文件类型的实现代码
利用PHP解读文件头以识别文件类型:涵盖图片、RAR、EXE等格式
在数字世界中,文件类型是我们经常需要识别的一个关键信息。PHP作为一种强大的服务器端脚本语言,能够帮助我们轻松实现这一目标。通过解读文件的前几个字节,我们可以准确地判断出文件的类型。下面我们就来详细一下如何用PHP实现这一功能。
假设我们有一个文件路径,例如"11.jpg",我们可以通过以下PHP代码来识别其类型:
```php
$filename = "路径/至/你的/文件.扩展名"; // 可以是图片、RAR、EXE等文件的路径
$file = fopen($filename, "rb"); // 以二进制读取模式打开文件
$bin = fread($file, 2); // 读取文件的前两个字节
fclose($file); // 关闭文件
$strInfo = @unpack("C2chars", $bin); // 解包二进制数据,获取两个字符的ASCII值
$typeCode = intval($strInfo['chars1'].$strInfo['chars2']); // 将字符转换为整数,形成类型代码
$fileType = ''; // 用于存储文件类型的变量
switch ($typeCode) {
case 7790: $fileType = 'exe'; break; // .exe文件的标识代码
case 7784: $fileType = 'midi'; break; // MIDI文件的标识代码
case 8297: $fileType = 'rar'; break; // RA件的标识代码
case 255216: $fileType = 'jpg'; break; // JPEG图片的标识代码
case 7173: $fileType = 'gif'; break; // GIF图片的标识代码
case 6677: $fileType = 'bmp'; break; // BMP图片的标识代码
case 13780: $fileType = 'png'; break; // PNG图片的标识代码
default: $fileType = '未知'; // 如果无法识别,则默认为未知文件类型
}
echo '这是一个' . $fileType . ' 文件,其类型代码为:' . $typeCode;
```
在Linux系统下,PHP提供了一个名为mime_content_type的函数,可以更为简便地判断文件类型。使用方法如下:
```php
echo mime_content_type('文件路径/文件名.扩展名'); // 输出文件的MIME类型,如:image/jpeg、application/octet-stream等。
```
通过以上的PHP代码,我们可以轻松地实现文件的类型识别。无论是图片、RAR、EXE还是其他格式的文件,我们都可以利用文件头信息准确地判断出它们的类型。这在处理上传文件、文件下载等场景中非常实用。
编程语言
- php 读取文件头判断文件类型的实现代码
- jQuery中-radio选择器用法实例
- 解决asp.net mvc UpdateModel更新对象后出现null问题的
- 在Linux系统中搭建Node.js开发环境的简单步骤讲解
- CI操作cookie的方法分析(基于helper类库)
- jfreechart插件将数据展示成饼状图、柱状图和折线
- php ajax无刷新分页,支持id定位
- vue2.0 资源文件assets和static的区别详解
- JavaScript String 对象常用方法总结
- js中获取键盘按下键值event.keyCode、event.charCode和
- Angular6使用forRoot() 注册单一实例服务问题
- 详解Vuejs2.0 如何利用proxyTable实现跨域请求
- 使用Raygun对Node.js应用进行错误处理的方法
- 浅谈JavaScript的push(),pop(),concat()方法
- jQuery trigger()方法用法介绍
- JS+CSS实现可以凹陷显示选中单元格的方法