php 不通过文件扩展名判断文件的类型
2017-05-16 23:02:01
•
阅读
打赏
本文介绍了php 不通过文件扩展名判断文件的类型的方法,使用finfo_file函数与二进制流判断文件类型,欢迎大家的学习。
finfo_file函数
$finfo = finfo_open(FILEINFO_MIME_TYPE); // 返回 mime 类型
echo finfo_file($finfo, $filename);
finfo_close($finfo);
二进制流
通过二进制流获取文件内容
$fp = fopen('a.php', 'r');
$bin = fread($fp, 2); //读2字节
fclose($fp);
//解包二进制数据
$str_info = @unpack('C2chars', $bin);
$type_code = intval($str_info['chars1'] . $str_info['chars2']);
$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;
}
echo $file_type;
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php文件操作总结》、《PHP网络编程技巧总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
以上就是本文php 不通过文件扩展名判断文件的类型的全部内容,希望本文所述对大家PHP程序设计有所帮助。
相关推荐
深度学习 -- 损失函数
深度残差网络(Deep Residual Networks (ResNets))
深度学习 -- 激活函数
神经网络训练 -- 调整学习速率
生成对抗网络(GAN)改进与发展
生成对抗网络(GAN)优点与缺点
生成对抗网络(GAN)的训练
生成对抗网络(GAN)基本原理
生成模型与判别模型