php检查文件类型

php检验文件类型

基于文件扩展名的类型检验

这一种方式很好实现,也就是取出文件的扩展名就可以了,且这是效率最好的,这种方式很不安全,如出现没有扩展名的文件怎么办呢?

这在windows上面很少出现没有扩展名的文件,但是在linux上面没有扩展名的文件很多,所以单独以扩展名来区分文件的类型不是很合适

php上传文件类型检测-------基于扩展名的文件类型检测

 

php基于文件签名的文件类型检查
什么是文件签名?

其实第一种文件都有其特定的格式,这样只要检测其特定的内容就可以知道文件的类型,

如果想详细了解文件签名或者文件类型,请参考File format

文件签名一般都在文件的头部,如果你用十六进制方式查看文件,你就可以看到文件的一些签名信息。

如用uestudio以十六进制方式查看zip格式的文件,其文件内容头部有50 4B 03 04这样的十六进制信息。

同理jpg文件状况有FF D8 FF E0 xx xx 4A 46这样的十六进制信息,其实这此十六进制都是表示一些特殊字条。

有位老兄花了不少时间把大部分文件的签名信息都进行了整理,如果要知道文件类型的签名信息,请查看文件签名列表file sigs

 

php怎么样验证文件类型?

基于扩展名的文件类型验证很不安全也不准确,在php中可以这样处理

 

这样处理php文件类型检验是比较准备和安全的,如果有新的文件类型出现,只要把新的文件签名信息放进去就可以了。

 

 

 

 

 

Locations of visitors to this page

统计

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值