$file = @fopen('包含路径的文件名', "rb"); $bin = fread($file, 15); //只读15字节 各个不同文件类型,头信息不一样。 if(true === get_type_list($bin)) { echo '该图片在指定的图片格式中'; } else{ echo '该图片上传格式错误'; } /** * 得到文件头与文件类型映射表* * author wengxianhu * @param $bin string 图片的二进制前一段字符 * @return boolean */ public function get_type_list($bin) { $array = array( array("FFD8FFE1","jpg"), array("89504E47","png"), array("47494638","gif"), array("FFD8FFE000104A46", "jpeg") // array("49492A00","tif"), // array("424D","bmp"), // array("41433130","dwg"), // array("38425053","psd"), // array("7B5C727466","rtf"), // array("3C3F786D6C","xml"), // array("68746D6C3E","html"), // array("44656C69766572792D646174","eml"), // array("CFAD12FEC5FD746F","dbx"), // array("2142444E","pst"), // array("D0CF11E0","xls/doc"), // array("5374616E64617264204A","mdb"), // array("FF575043","wpd"), // array("252150532D41646F6265","eps/ps"), // array("255044462D312E","pdf"), // array("E3828596","pwl"), // array("504B0304","zip"), // array("52617221","rar"), // array("57415645","wav"), // array("41564920","avi"), // array("2E7261FD","ram"), // array("2E524D46","rm"), // array("000001BA","mpg"), // array("000001B3","mpg"), // array("6D6F6F76","mov"), // array("3026B2758E66CF11","asf"), // array("4D546864","mid"), // array("D3C3BBA7", 'csv') ); foreach ($array as $v) { $blen = strlen(pack("H*", $v[0])); //得到文件头标记字节数 $tbin = substr($bin, 0, intval($blen)); ///需要比较文件头长度 if(strtolower($v[0]) == strtolower(array_shift(unpack("H*", $tbin)))) { return true; } } return false; }
相关推荐
一般我们都是按照文件扩展名来判断文件类型,但是这个很不靠谱,轻易就通过修改扩展名来躲避了,一般必须要读取文件信息来识别,PHP扩展中提供了类似 exif_imagetype 这样的函数读取图片类的文件类型,但是很多时候...
在做web应用时候,通过web扩展名判断上存文件类型,这个是我们常使用的。
③ “文件-新建-text”,就可以建立一个空的文本文件,保存时,这个文件自动带有扩展名".txt",也就避免了令人头疼的确认 ④ 模板设置文件名称为“template.ini”,如果和主程序同一路径,可以使用相对路径 罗嗦了...
③ “文件-新建-text”,就可以建立一个空的文本文件,保存时,这个文件自动带有扩展名".txt",也就避免了令人头疼的确认 ④ 模板设置文件名称为“template.ini”,如果和主程序同一路径,可以使用相对路径 罗嗦了...
而自动识别(后缀名为小写,如:dict.xdb, dict.sqlite ...) 目前推荐和默认采用 XDB 格式,这是专为 SCWS 开发而且采用纯 PHP 代码实现的 XTreeDB,效率 非常不错,比 CDB 还略快。 其它格式仅作简介,一般也...
③ “文件-新建-text”,就可以建立一个空的文本文件,保存时,这个文件自动带有扩展名".txt",也就避免了令人头疼的确认 ④ 模板设置文件名称为“template.ini”,如果和主程序同一路径,可以使用相对路径 罗嗦了...
- 文件扩展名处理,分为用户方式和扩展名权限方式 - 上传结束提示:是否成功、失败原因 - 上传扩展名限制 解决apache .php.*当做php执行bug - 文件名非法字符限定 - 树目录展开箭头状态修复 - 树目录新建文件...
模式设置:支持动态,静态,伪静态,缓存,自定更新频率设定,可设定前台页面扩展名。 静态列表:可直接编辑静态页面,支持一键清空。 缓存列表:仅支持前台缓存页面编辑,支持一键清空(清空功能包含后台页面)。...
5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...
8、下载与在线地址支持上传文件并自动填写文件扩展名及大小;支持直接上传与选择附件目录文件两种方式。 9、支持内容页文件名自定义。 10、新增下载地址前缀功能,同时支持"HEADER"、"META"、"READ"三种下载方式。 ...
8、下载与在线地址支持上传文件并自动填写文件扩展名及大小;支持直接上传与选择附件目录文件两种方式。 9、支持内容页文件名自定义。 10、新增下载地址前缀功能,同时支持"HEADER"、"META"、"READ"三种下载方式。...
5个目标文件,演示Address EJB的实现 ,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...
而自动识别(后缀名为小写,如:dict.xdb, dict.sqlite ...) 目前推荐和默认采用 XDB 格式,这是专为 SCWS 开发而且采用纯 PHP 代码实现的 XTreeDB,效率 非常不错,比 CDB 还略快。 其它格式仅作简介,一般也...
8、下载与在线地址支持上传文件并自动填写文件扩展名及大小;支持直接上传与选择附件目录文件两种方式。 9、支持内容页文件名自定义。 10、新增下载地址前缀功能,同时支持"HEADER"、"META"、"READ"三种下载方式。...
根据短文件名偏移 0x0c 处:位 3=1 表示文件名小写,位 4=1 表示文件扩展名小写。 4.可以正确识别 mkisofs 2.00/2.01 生成有 bug 的 Joliet 格式光盘。 2013-10-18 1.新增功能类似CMD的PATHEXT,可以设置默认的...
一般HTML的网页文件都是以.htm为扩展名,浏览器会按照Tag语法做解释并加以处理.htm文件的内容,按照其指定方式将文字、图片等多媒体数据显示或播放出来。即使用HTML语言描述的文件,需要通过WWW浏览器显示出效果。 2...
2.3.6. 通过非安装Zip文件安装MySQL 2.3.7. 提取安装档案文件 2.3.8. 创建选项文件 2.3.9. 选择MySQL服务器类型 2.3.10. 首次启动服务器 2.3.11. 从Windows命令行启动MySQL 2.3.12. 以Windows服务方式启动...
7.9 通过假造Referer头信息来伪造工作流程 152 7.10 仅获取HTTP头 153 7.11 使用cURL发送POST请求 154 7.12 保持会话状态 156 7.13 操纵Cookie 157 7.14 使用cURL上传文件 158 7.15 建立多级测试用例 159 7.16 结论 ...
模式设置:支持动态,静态,伪静态,缓存,自定更新频率设定,可设定前台页面扩展名。静态列表:可直接编辑静态页面,支持一键清空。缓存列表:仅支持前台缓存页面编辑,支持一键清空(清空功能包含后台页面)。网站...