PHP 识别文件真实类型,公共方法类。

38 篇文章 1 订阅
订阅专栏

1、产生原因:前几天服务器的上传图片的文件公共方法被人家上传了一些木马文件,有些文件的真实后缀被改变了所以判断不了

2、网上找了一个判断文件真实类型的方法

<?php
ini_set('display_errors',1);            //错误信息  
ini_set('display_startup_errors',1);    //php启动错误信息  
error_reporting(-1);                    //打印出所有的 错误信息  
ini_set('error_log', dirname(__FILE__) . '/error_log.txt'); //将出错信息输出到一个文本文件

//服务器文件相对路径
$file = "./Avatar/2019-08-11/f7c192bc505a9228e53735ea173b3b64"; //结果php
$file = "./Avatar/2019-08-11/20190811235350.php"; //结果php
$file = "./Avatar/2019-08-11/20181207123546.jpeg"; //结果jpg
$file = "./Avatar/2019-08-11/20181207123546"; //结果jpg

//获取绝对路径
$q_file = realpath($file);

$re = getFileType($q_file);

var_dump($re);

function getFileType($file){
        $fp = fopen($file, "rb");
        $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 6063:
                $file_type = 'php';
                break;
            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;
        }

    $of['code'] = $type_code;
    $of['type'] = $file_type;
    return $of;
    }
 
?>

测试一下:1

这个是一个php木马文件

测试2:

这是一个带后缀的php文件

测试三:识别两个图片文件

可以很好用。

提示:自己相加其他类型的判断自己可以去先获取然后加在判断里

php限制上传文件类型并保存上传文件方法
10-24
主要介绍了php限制上传文件类型并保存上传文件方法,涉及php针对上传文件的常用操作技巧,非常具有实用价值,需要的朋友可以参考下
一个简单的小程序识别文件真实类型
04-18
现有一文件,其扩展名未知或标记错误。假设它是一个正常的、非空的文件,且将扩展名更正后可以正常使用,那么,如何判断它是哪种类型文件文件文件头是不会被更改的,我们可以通过对文件头的读取来判断当前文件类型。压缩包里的JSON文件包含了我新增的一些特殊文件类型,打开方式在cmd窗口输入“py-checkfiletype-master”回车,拖入待测文件/文件夹即可识别
php获取文件类型文件信息的方法
01-21
本文实例讲述了php获取文件类型文件信息的方法。分享给大家供大家参考。具体实现方法如下: <?php $file = php.txt; //打开文件,r表示以只读方式打开 $handle = fopen($file,r); //获取文件的统计信息 $fstat = fstat($handle); echo 文件名:.basename($file).<br>; //echo 文件大小:.round(filesize($file)/1024,2).kb<br>; echo 文件大小:.round($fstat[size]/1024,2).kb<br>;
php实现的读取CSV文件函数示例
10-20
主要介绍了php实现的读取CSV文件函数,结合实例形式分析了php读取CSV文件及字符串、数组遍历与转换等操作技巧,需要的朋友可以参考下
高手写的一个php文件上传类,可以检查真实扩展名
07-27
高手写的一个php文件上传类,可以检查真实扩展名,不过比较复杂,单是class.upload.php一个文件就有252KB,4999行,没错是只差一行不到5000行,功能可想而知,里面有测试文件index.php可以照着里面来做,版权属于原作者Colin Verot,本人纯属分享
php 获取上传文件真实类型
修道的小猫
12-27 2686
/** * 获取文件类型 * @param $filename * @return bool|string */ static public function getFileType($fileName) { if (function_exists("finfo_open")) { $handle = ...
PHP 查看真实文件类型、图片有效性
我有一个魔盒的博客
01-27 905
思路:通过文件头确定文件类型,可使用Notepad++以16进制查看文件头。 方法一: // 获取mime type print_r(mime_content_type($path)); 输出:image/svg+xml 方法二: function test() { $file_type_start = [ "ffd8ffe000104a464946" => "jpg", //JPEG (jpg) "89504e470d0a1a0a0000" => "p
php获得文件真实类型(针对用户更改了文件的扩展名)
dashuichi7368的博客
04-21 360
/** * 获得文件真实扩展名 * @param string $file 文件的路径 * **/ function getFileType($file){ $fp = fopen($file, "rb"); $bin = fread($fp, 2)...
php文件操作类文件类型,php文件操作之文件类型
weixin_35888603的博客
03-09 593
php以Unix的文件系统为模型,共有file、dir、char、block、fifo、link和unknown七种类型,但是在Windows中只识别三种,file、dir和unknown。file : 普通文件类型,比如文本文件、音乐、视频、可执行文件等dir : 目录类型,即文件夹。Unix中把一切都看作文件。char : 字符设备,指I/O过程中以字符为单位进行传输的设备,键盘、打印机等。b...
php获取上传文件真实格式
weixin_40791514的博客
07-05 352
php获取上传文件真实格式
php实现获取文件mime类型方法
10-24
主要介绍了php实现获取文件mime类型方法,实例分析了php实现获取文件mime类型的各种常见技巧,非常具有实用价值,需要的朋友可以参考下
PHP 基于文件头的文件类型验证类函数
01-20
php /** * 检证文件类型类 * * @author Silver */ class FileTypeValidation { // 文件类型,不同的头信息 private static $_fileFormats = Array( ‘jp2’ => ‘0000000C6A502020’, ‘3gp’ => ...
php判断文件格式_PHP 检测上传文件真实文件类型
weixin_31222401的博客
03-08 597
/*** @application : 检测上传文件真实类型* @description : 在验证文件上传步骤中,应是表单中file提交后,后端验证上传时产生的临时文件(即$_FILES信息中的'tmp_name'),若通过类型验证,则允许上传到特定上传目录中(即调用move_uploaded_file函数)* @return array*/class FileType{public func...
File Header文件头,通过检查文件头来判断文件类型
billhu专栏
12-21 3262
由这些文件头即使文件后缀被乱改也可以通过查看二进制文件查出文件的匹配格式,当然这就是一些播放器识别文件方法1、从Ultra-edit-32中提取出来的JPEG (jpg),文件头:FFD8FF PNG (png),文件头:89504E47 GIF (gif),文件头:47494638 TIFF (tif),文件头:49492A00 Windows Bitmap (
通过java判断文件真实类型
qq_41787812的博客
10-09 2258
通过java判断文件真实类型
php 判断图片文件真实类型
weixin_34308389的博客
05-06 528
/** **检测文件真实类型 **@paramstring$srcPath文件路径 **@returnstring$realType文件真实类型 **/ $imgurl='http://pic.babytree.com/foto3/thumbs/2015/0506/51/8/357557aa334dd0392...
php类型辨别,php 判断图片文件真实类型
weixin_34053992的博客
03-10 203
/*** 检测文件真实类型* @param string $srcPath 文件路径* @return string $realType 文件真实类型*/$imgurl = 'https://ae01.alicdn.com/kf/HTB1w5xdS4TpK1RjSZR0762EwXXa7.png';echo file_type_detect($imgurl);function file_typ...
php使用二进制判断图片(或文件)真实类型(可判断远程图片)
zym434597594的博客
05-10 583
function picType($file) { $fileTypes = array( 7790 => 'exe', 7784 => 'midi', 8297 => 'rar', 255216 => 'jpg', 7173 => 'gif', 6677 => 'bmp', 13780 => 'png' ); $header =
ios12安装描述文件失败问题
热门推荐
༺墨༒眉༻
10-10 1万+
阿里云免费SSL证书对IOS描述文件mobileconfig的签名认证方法。 https://blog.csdn.net/qq_24909089/article/details/82631627 通过Safari浏览器获取iOS设备UDID(设备唯一标识符) http://www.skyfox.org/safari-ios-device-udid.html 在ios12系统中,我们访问的下...
php 识别图像文件类型
最新发布
03-29
可以使用 PHP 的 getimagesize() 函数来获取图像文件类型信息。该函数返回一个数组,包含图像文件类型、宽度、高度和其他相关信息。例如: ```php $image_info = getimagesize('example.jpg'); $image_type = $...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

分类专栏

  • PHP 函数 27篇
  • Yii 3篇
  • fastadmin 1篇
  • 宝塔 1篇
  • Lumen/laravel 3篇
  • vue 5篇
  • php问题 3篇
  • Linux 工具 2篇
  • phpStorm 9篇
  • IOS支付 3篇
  • Go 11篇
  • 文章 3篇
  • win电脑问题 1篇
  • PHP 算法逻辑 8篇
  • PHP 正则 9篇
  • PHP 程序 38篇
  • PHP 时间 9篇
  • PHP 作曲家 9篇
  • PHP thinkphp框架 10篇
  • PHP Dolphinphp框架 1篇
  • PHP Excel 3篇
  • excel 公式 1篇
  • Python 39篇
  • Python pygame 3篇
  • Python 相关错误解析 5篇
  • 人生 5篇
  • 爬虫 5篇
  • MAC brew 13篇
  • MAC-工具 19篇
  • php pecl 6篇
  • JavaScript 27篇
  • Mysql 44篇
  • mysql 错误解析 7篇
  • 第三方Api 1篇
  • Linux 37篇
  • 编辑器 7篇
  • 银行列表 1篇
  • NGINX 4篇
  • 阿里云 14篇
  • svn 7篇
  • echarts插件 4篇
  • windows 2篇
  • ssh证书 2篇
  • 求助贴 1篇
  • git 15篇
  • PHP Socket 3篇
  • pip 1篇
  • http 1篇
  • Redis 19篇
  • easyUI 2篇
  • Linux 安全 1篇
  • 架构 2篇
  • 必背单词
  • 后端 1篇

最新评论

  • mac系统时间自动校准仍然不准确修复方式

    天下皆白_唯我独黑: 老电脑就这样了,一段时间又不准了,这个只能校准时间不能保证一直正确

  • mac系统时间自动校准仍然不准确修复方式

    m0_57953615: 没过一会儿又自己变回错误时间了…

  • mac系统时间自动校准仍然不准确修复方式

    m0_57953615: 牛 只有这个成功了!表情包

  • Mac 安装php多版本,brew安装php8.0

    天下皆白_唯我独黑: 是容易卡住的有些资源是外网的,正常应该2个小时内就完成了

  • mac系统时间自动校准仍然不准确修复方式

    2401_82931593: 感谢 试了很多 这个终于成功了

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • PHP 页面报错Warning</b>: Cannot modify header information - headers already sent by
  • Yii2 自动生成php代码
  • php 获取对应时间区间
2024年13篇
2023年31篇
2022年26篇
2021年31篇
2020年45篇
2019年123篇
2018年153篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

聚圣源凤凰卫视薄雾传说猪年男宝宝起名喜用字excel分页杜起名字女连发生成工具苏小柠墨沉域枕上婚宠全文免费阅读白落衡鼠标dpi奶茶店名字起名大全旷世奇才属狗李姓女孩起名公司起名字大全免费测分美甲美睫店铺起名暖春电视剧全集带禾的诗句可以起名字怎么免费起名字农副产品加工 起名真三v3.9d炙爱家装报价表初生婴儿起名网站 免费东京绅士物语bestialityvideo交通事故索赔申请书男孩姓庄起什么名字大全高达00第一季起名api密歇根州确认拜登击败特朗普给团队起名和口号淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男孩疑遭霸凌 家长讨说法被踢出群国产伟哥去年销售近13亿网友建议重庆地铁不准乘客携带菜筐雅江山火三名扑火人员牺牲系谣言代拍被何赛飞拿着魔杖追着打月嫂回应掌掴婴儿是在赶虫子山西高速一大巴发生事故 已致13死高中生被打伤下体休学 邯郸通报李梦为奥运任务婉拒WNBA邀请19岁小伙救下5人后溺亡 多方发声王树国3次鞠躬告别西交大师生单亲妈妈陷入热恋 14岁儿子报警315晚会后胖东来又人满为患了倪萍分享减重40斤方法王楚钦登顶三项第一今日春分两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?周杰伦一审败诉网易房客欠租失踪 房东直发愁男子持台球杆殴打2名女店员被抓男子被猫抓伤后确诊“猫抓病”“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火男孩8年未见母亲被告知被遗忘恒大被罚41.75亿到底怎么缴网友洛杉矶偶遇贾玲杨倩无缘巴黎奥运张立群任西安交通大学校长黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发妈妈回应孩子在校撞护栏坠楼考生莫言也上北大硕士复试名单了韩国首次吊销离岗医生执照奥巴马现身唐宁街 黑色着装引猜测沈阳一轿车冲入人行道致3死2伤阿根廷将发行1万与2万面值的纸币外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万手机成瘾是影响睡眠质量重要因素春分“立蛋”成功率更高?胖东来员工每周单休无小长假“开封王婆”爆火:促成四五十对专家建议不必谈骨泥色变浙江一高校内汽车冲撞行人 多人受伤许家印被限制高消费

聚圣源 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化