php实现不通过扩展名准确判断文件类型的方法【finfo_file方法与二进制流】
发布时间 - 2026-01-11 00:42:11 点击率:次本文实例讲述了php实现不通过扩展名准确判断文件类型的方法。分享给大家供大家参考,具体如下:

第一种方法
通过php的finfo_file()
$handle=finfo_open(FILEINFO_MIME_TYPE);//This function opens a magic database and returns its resource. $fileInfo=finfo_file($handle,'./test.txt');// Return information about a file finfo_close($handle); print_r($fileInfo); echo '==========="\n"';
另外
finfo_buffer: Return information about a string buffer
finfo_close: Close fileinfo resource
mime_content_type:Detect MIME Content-type for a file (deprecated)
第二种方法
通过二进制流获取文件内容
$fp=fopen('test.txt','r')///实际是image/png
$bin = fread($fp, 2); //只读2字节
fclose($fp);
$str_info = @unpack(“C2chars”, $bin);//Unpack data from binary string
$type_code = intval($str_info['chars1'].$str_info['chars2']);// Get the integer value of a variable
$file_type = ”;
switch ($type_code) {
case 7790:
$file_type = 'exe';
break;
case 7784:
$file_type = 'midi';
break;
case 8075:
$file_type = 'zip';
break;
case 8297:
$file_type = 'rar';
break;
case 255216:
$file_type = 'jpg';
break;
case 7173:
$file_type = 'gif';
break;
case 6677:
$file_type = 'bmp';
break;
case 13780:
$file_type = 'png';
break;
default:
$file_type = 'unknown';
break;
}
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php文件操作总结》、《PHP网络编程技巧总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
# php
# 扩展名
# 判断
# 文件类型
# finfo_file
# 二进制流
# PHP中获取文件扩展名的N种方法小结
# php获取文件名称和扩展名的方法
# PHP获取文件扩展名的4种方法
# php更改目录及子目录下所有的文件后缀扩展名的代码
# php获得文件扩展名三法
# php文件扩展名判断及获取文件扩展名的N种方法
# php从给定url获取文件扩展名的方法
# PHP获取文件扩展名的方法实例总结
# PHP实现的获取文件mimes类型工具类示例
# php准确获取文件MIME类型的方法
# php实现获取文件mime类型的方法
# PHP获取文件扩展名的常用方法小结【五种方式】
# 种方法
# 程序设计
# 相关内容
# 感兴趣
# 给大家
# 更多关于
# 所述
# 面向对象
# 不通过
# 操作技巧
# 编程技巧
# 讲述了
# finfo_close
# file
# print_r
# span
# echo
# test
# fileInfo
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
微信推文制作网站有哪些,怎么做微信推文,急?
长沙企业网站制作哪家好,长沙水业集团官方网站?
Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤
如何在建站之星绑定自定义域名?
UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】
html5audio标签播放结束怎么触发事件_onended回调方法【教程】
Laravel事件监听器怎么写_Laravel Event和Listener使用教程
活动邀请函制作网站有哪些,活动邀请函文案?
今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】
Python进程池调度策略_任务分发说明【指导】
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?
如何用PHP快速搭建高效网站?分步指南
无锡营销型网站制作公司,无锡网选车牌流程?
高端建站如何打造兼具美学与转化的品牌官网?
Win11怎么开启自动HDR画质_Windows11显示设置HDR选项
Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程
Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】
laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法
百度浏览器如何管理插件 百度浏览器插件管理方法
Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】
Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
如何快速搭建自助建站会员专属系统?
高端建站三要素:定制模板、企业官网与响应式设计优化
,在苏州找工作,上哪个网站比较好?
Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
Laravel如何使用Blade组件和插槽?(Component代码示例)
如何快速上传建站程序避免常见错误?
如何用PHP工具快速搭建高效网站?
高性能网站服务器部署指南:稳定运行与安全配置优化方案
作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】
Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】
php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
济南网站建设制作公司,室内设计网站一般都有哪些功能?
大同网页,大同瑞慈医院官网?
如何自定义建站之星模板颜色并下载新样式?
Laravel怎么实现验证码(Captcha)功能
Laravel如何实现全文搜索功能?(Scout和Algolia示例)
DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程
小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像
如何将凡科建站内容保存为本地文件?
Python面向对象测试方法_mock解析【教程】
Android Socket接口实现即时通讯实例代码
实例解析Array和String方法
原生JS获取元素集合的子元素宽度实例

