一个简单的文件后缀获取——不是通过文件名,而是文件内容
2010-11-09 19:05
489 查看
摘自原来的一个项目,特意提取出来,可能会有需要的人
/** * 根据图片文件内容获取扩展名 * @param $file 要处理的文件 * @param $isstr 是否传的字符串:true=直接文件内容,false=文件地址 * @return unknown_type */ function get_img_ext($file = '', $isstr = true){ if(!$isstr){ //仅获取2字节 $file = file_get_contents($file, false, NULL, 0, 2); } //取文件前两个字节(二进制) $bin = $file[0].$file[1]; //把2进制数转换为两个字符 $info = @unpack("C2chars", $bin); //转换两个字节的字符为数字 $type = intval($info['chars1'].$info['chars2']); $ext = 'unknown'; //文件类型判断 switch($type){ case 7790: $ext = 'exe'; break; case 7784: $ext = 'midi'; break; case 8297: $ext = 'rar'; break; case 255216: $ext = 'jpg'; break; case 7173: $ext = 'gif'; break; case 6677: $ext = 'bmp'; break; case 13780: $ext = 'png'; break; } return $ext; }
相关文章推荐
- python 根据文件内容而不是后缀名 获取文件类型
- python 根据文件内容而不是后缀名 获取文件类型
- shell 获取一个文件的文件名和后缀名
- Linux下父进程通过管道发送文件名给子进程,子进程获取文件名后首先判断文件是否存在,不存在,通过管道返回错误信息,存在,将文件内容返回给父进程
- Maven的构建配置文件(Build Profiles) 在命令行使用构建配置文件时,是-P,比如:mvn -Pinput 注意:这里的构建配置文件并不是一个真正的文件,而是通过指定参数来做特定
- 编写一个业务函数,实现按行读取文件。把内容按照第三种内存模型打包数据传出,把行数通过函数参数传出。
- 现象:起中文的文件名是乱码,通过程序往一个文件中写入中文是乱码。
- java 获取文件名(不包括文件的后缀)和文件重命名
- jquery通过load获取文件的内容并跳到锚点的方法
- 2014_03_28工作日志:CreateFile不是创建文件,而是指向某个文件的一个句柄
- 通过递归获取一个文件目录下的所有文件和目录
- c++中通过文件名称获取文件后缀
- C# 通过文件路径获取文件名、扩展名等
- 推荐一个文件内容/文件夹的比对软件-WinMerge,附简单用法
- 用极少的MXML来通过AS文件完成一个简单的应用!
- 在解压gz文件时,如果直接用java.util.zip.GZIPInputStream来处理问题只能解压很少一部分内容,通过类MultiMemberGZIPInputStream 可以完全解压一个gz文件。
- 编写一个函数,能输出文件夹下的文件列表,文件名通过控制台输入
- Python 最近因开发项目的需要,有一个需求,就是很多SNS网站都有的通过 Email地址 导入好友列表,不过这次要导入的不是Email 列表,而是QQ的好友列表。 实现方式: 通过goog
- 使用 jquery 的 上传文件插件 uploadify 3.1 配合 java 来做一个简单的文件上次功能。并且在界面上有radio 的选择内容也要上传