php 如何准确判断远程文件的扩展名?

php中文网
发布: 2016-06-23 14:39:16
原创
997人浏览过


http响应头如下:
Array
(
    [0] => HTTP/1.1 200 OK

    [1] => Content-Length: 345942

    [2] => Content-Type: application/octet-stream

    [3] => Server: Microsoft-IIS/6.0

    [4] => X-Powered-By: ASP.NET

    [5] => Date: Sun, 08 Dec 2013 05:44:39 GMT

    [6] => Connection: close

)

文件名里面没有扩展名,杂乱无章的。


回复讨论(解决方案)

文件名只是用于识别存放于介质中的数据块的标识
在网络通讯中,文件名已经没有意义了

既然 Content-Type: application/octet-stream 已经声明了是一个流
且长度 Content-Length: 345942 也不算太大,你可以先当做图片来分析
所有的数据流都用特定的识别标志,前一阶段就有人在这里发过代码,你可以找一下

文件名只是用于识别存放于介质中的数据块的标识
在网络通讯中,文件名已经没有意义了

既然 Content-Type: application/octet-stream 已经声明了是一个流
且长度 Content-Length: 345942 也不算太大,你可以先当做图片来分析
所有的数据流都用特定的识别标志,前一阶段就有人在这里发过代码,你可以找一下

Content-Type: application/octet-stream这个对应很多种类型的文件,不是唯一的。此外这个文件是rar格式。不是图片。


文件名只是用于识别存放于介质中的数据块的标识
在网络通讯中,文件名已经没有意义了

既然 Content-Type: application/octet-stream 已经声明了是一个流
且长度 Content-Length: 345942 也不算太大,你可以先当做图片来分析
所有的数据流都用特定的识别标志,前一阶段就有人在这里发过代码,你可以找一下

Content-Type: application/octet-stream这个对应很多种类型的文件,不是唯一的。此外这个文件是rar格式。不是图片。

找到答案了,基于文件头是最靠谱的
http://www.yc-edu.org/PHPpeixun/1233.html

正因为类型为 application/octet-stream
所以才需要自己识别!
自己识别就要根据特征字查知识库,常见的文件类型有数千种,你愿意一个个的对比一遍,我并不反对
而最常见的也就十来个,检查起来就快的多了

rar 文件的特征字是 Rar
jpg 文件的特征字是 JFIF
png 文件的特征字是 PNG
....

正因为类型为 application/octet-stream
所以才需要自己识别!
自己识别就要根据特征字查知识库,常见的文件类型有数千种,你愿意一个个的对比一遍,我并不反对
而最常见的也就十来个,检查起来就快的多了

rar 文件的特征字是 Rar
jpg 文件的特征字是 JFIF
png 文件的特征字是 PNG
....

什么叫自己识别??

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号