用PHP去掉文件头的Unicode签名(BOM)方法
废话不多说,直接上代码
<?php //此文件用于快速测试UTF8编码的文件是不是加了BOM,并可自动移除 //By Bob Shen $basedir="."; //修改此行为需要检测的目录,点表示当前目录 $auto=1; //是否自动移除发现的BOM信息。1为是,0为否。 //以下不用改动 if ($dh = opendir($basedir)) { while (($file = readdir($dh)) !== false) { if ($file!='.' && $file!='..' && !is_dir($basedir."/".$file)) echo "filename: $file ".checkBOM("$basedir/$file")." <br>"; } closedir($dh); } function checkBOM ($filename) { $contents=file_get_contents($filename); $charset[1]=substr($contents, 0, 1); $charset[2]=substr($contents, 1, 1); $charset[3]=substr($contents, 2, 1); if (ord($charset[1])==239 && ord($charset[2])==187 && ord($charset[3])==191) { $rest=substr($contents, 3); rewrite ($filename, $rest); return true; } else return ("BOM Not Found."); } function rewrite ($filename, $data) { $filenum=fopen($filename,"w"); flock($filenum,LOCK_EX); fwrite($filenum,$data); fclose($filenum); } ?>
以上这篇用PHP去掉文件头的Unicode签名(BOM)方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
使用php清除bom示例
核心代码 function checkBOM ($filename) { global $auto; $contents = file_get_contents($filename); $charset[1] = substr($contents, 0, 1); $charset[2] = substr($contents, 1, 1); $charset[3] = substr($contents, 2, 1); if (ord($charset[1]) == 239 && ord($c
-
PHP批量去除BOM头代码分享
<?php /** * 去除bom头信息 */ header("Content-Type:text/html; charset=utf-8"); $auto = 1; checkdir("D:\wamp\www\sales"); function checkdir($basedir){ if ($dh = opendir($basedir)) { while (($file = readdir($dh)) !== false) { if ($file != '
-
用PHP去掉文件头的Unicode签名(BOM)方法
废话不多说,直接上代码 <?php //此文件用于快速测试UTF8编码的文件是不是加了BOM,并可自动移除 //By Bob Shen $basedir="."; //修改此行为需要检测的目录,点表示当前目录 $auto=1; //是否自动移除发现的BOM信息.1为是,0为否. //以下不用改动 if ($dh = opendir($basedir)) { while (($file = readdir($dh)) !== false) { if ($file!='.' &
-
.net文件上传时实现通过文件头确认文件类型的方法
本文实例讲述了.net文件上传时实现通过文件头确认文件类型的方法,其中 script 用来返回给页面的数据,读者还可以根据自身需要对相关部分自行修改.另外,文件头也可以自行添加定义. 主要代码如下: AppCode/FileUpload.cs using System; using System.Collections.Generic; using System.IO; using System.Text; using System.Text.RegularExpressions; using
-
Android中Java根据文件头获取文件类型的方法
本文实例讲述了Android中Java根据文件头获取文件类型的方法.分享给大家供大家参考,具体如下: 前面讲过Android系统内部的MediaFile类来获取文件类型的办法,这个类主要是根据文件的扩展名来判断,其准确性不是很好.具体可查看Android系统使用MediaFile类判断音频文件类型.其实,获取文件类型最好的办法便是根据文件头信息来判断.下面贴出相关代码: public class FileType { public static final HashMap<String, Str
-
Android studio设置文件头定制代码注释的方法
一.说明 在下载或者看别人的代码我们常会看见,每一个文件的上方有个所属者的备注.如果要是一个一个备注那就累死了. 二.设置方法 File >>> Setting >>> File and Code Templates >>> File Header在右边的输入框中输入你想要备注的内容即可 总结 以上所述是小编给大家介绍的Android studio设置文件头定制代码注释的方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家
-
python通过文件头判断文件类型
对于提供上传的服务器,需要对上传的文件进行过滤. 本文为大家提供了python通过文件头判断文件类型的方法,避免不必要的麻烦. 分享代码如下 import struct # 支持文件类型 # 用16进制字符串的目的是可以知道文件头是多少字节 # 各种文件头的长度不一样,少半2字符,长则8字符 def typeList(): return { "52617221": EXT_RAR, "504B0304": EXT_ZIP} # 字节码转16进制字符串 def byt
-
php UTF-8、Unicode和BOM问题
一.介绍 UTF-8 是一种在web应用中经常使用的一种 Unicode 字符的编码方式,使用 UTF-8 的好处在于它是一种变长的编码方式,对于 ANSII 码编码长度为1个字节,这样的话在传输大量 ASCII 字符集的网页时,可以大量节约网络带宽. UTF-8签名(UTF-8 signature)也叫做BOM(Byte Order Mark),是UTF编码方案里用于标识编码的标准标记.BOM,是UTF编码方案里用于标识编码的标准标记,在UTF-16里本来是FF FE,变成UTF-8就成了EF
-
PHP如何根据文件头检测文件类型实例代码
前言 什么是文件头部Bom? 说白了,就是在保存文件的时候,文件前面会多出一串隐藏的字符,文件签名一般都在文件的头部,如果你用十六进制方式查看文件,你就可以看到文件的一些签名信息.如用uestudio以十六进制方式查看zip格式的文件,其文件内容头部有50 4B 03 04这样的十六进制信息.同理jpg文件状况有FF D8 FF E0 xx xx 4A 46这样的十六进制信息,其实这此十六进制都是表示一些特殊字条. php怎么样验证文件类型? 先来看一个简单的方法: <?php function
-
Python简单检测文本类型的2种方法【基于文件头及cchardet库】
本文实例讲述了Python简单检测文本类型的方法.分享给大家供大家参考,具体如下: 1.根据文件头. #是否为带BOM头的UTF8文件 def IsUtf8BomFile(pathfile): if b'\xef\xbb\xbf' == open(pathfile, mode='rb').read(3)): return True return False 2.用cchardet库. >>> import cchardet >>> cchardet.detect(ope
-
php通过文件头检测文件类型通用代码类(zip,rar等)
有时候我们这样做还不完善.可能有些人上存一些文件,但是他通过修改扩展名,让在我们的文件类型之内. 单实际访问时候又不能展示(因为扩展名与文件内容不符).下面这个php类,可能能够给我们带来帮助.一.php检测类 首先说明下,上面文件头与文件类型映射关系来自网上,如果你有新的文件需要检查,只需要将映射加入即可. 如果你需要知道文件头信息,可以通过工具:winhex打开标准文件查找.如: 代码: 复制代码 代码如下: <?php /*通过文件名,获得文件类型* *@author chengmo* *
-
php通过文件头判断格式的方法
本文实例讲述了php通过文件头判断格式的方法.分享给大家供大家参考,具体如下: function judgeFile($file,$form){ if(!empty($file) && !empty($form)){ $filehead = fopen($file,'r'); $bin = fread($filehead, 2); fclose($filehead); $data = unpack('C2chars', $bin); $type_code = intval($data['c
随机推荐
- 解决ios端点击按钮闪烁问题(小tips)
- ThinkPHP利用PHPMailer实现邮件发送实现代码
- ajaxToolkit:AccordionPane演示与应用实例
- 深入理解Java对象的序列化与反序列化的应用
- java Spring MVC4环境搭建实例详解(步骤)
- asp.NET 脏字过滤算法
- 浅谈.net平台下深拷贝和浅拷贝
- android自定义控件和自定义回调函数步骤示例
- 飞云写的防CC攻击的ASP程序插件 打包下载
- php实现模拟post请求用法实例
- java POI解析Excel 之数据转换公用方法(推荐)
- 服务器做raid1问题集锦
- 用mysqldump备份和恢复指定表的方法
- Rsync命令参数详解
- jquery实现的Banner广告收缩效果代码
- ASP.NET操作Excel备忘录
- javascript 基础简介 适合新手学习
- select列表内容交换的js实现代码
- MessageBox的Buttons和三级联动效果
- 用mysql触发器自动更新memcache的实现代码