用PHP去掉文件头的Unicode签名(BOM)方法

 更新时间:2017年06月22日 10:28:47   投稿:jingxian  
下面小编就为大家带来一篇用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的Yii框架使用中的一些错误解决方法与建议

    PHP的Yii框架使用中的一些错误解决方法与建议

    这篇文章主要介绍了PHP的Yii框架使用中的一些错误解决方法与建议,涵盖开启事务机制和关联表的使用等常用功能方面,需要的朋友可以参考下
    2015-08-08
  • PHP行为设计模式之策略模式

    PHP行为设计模式之策略模式

    这篇文章主要介绍了PHP行为设计模式之策略模式,策略模式(Strategy pattern)是行为类模式中的一个类型。行为类模式用来说明一个应用是如何运作的
    2023-04-04
  • php无需编译安装openssl扩展的实现方法

    php无需编译安装openssl扩展的实现方法

    下面小编就为大家分享一篇php无需编译安装openssl扩展的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • PHP中如何实现常用邮箱的基本判断

    PHP中如何实现常用邮箱的基本判断

    在邮件发送出去之前,用户的基本信息已经存在于数据库中了,如果是个错误的邮箱或者是恶意多注册账户那就需要过滤了,下面为大家介绍下PHP中实现常用邮箱的判断
    2014-01-01
  • php中socket通信机制实例详解

    php中socket通信机制实例详解

    这篇文章主要介绍了php中socket通信机制,讲述了socket通信机制的原理,并以实例形式较为详细的分析了socket通信机制的用法,需要的朋友可以参考下
    2015-01-01
  • highchart数据源纵轴json内的值必须是int(详解)

    highchart数据源纵轴json内的值必须是int(详解)

    下面小编就为大家带来一篇highchart数据源纵轴json内的值必须是int(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • ThinkPHP跳转页success及error模板实例教程

    ThinkPHP跳转页success及error模板实例教程

    这篇文章主要介绍了ThinkPHP跳转页success及error模板实例教程,可以帮助初学者进一步熟悉ThinkPHP的页面跳转流程,需要的朋友可以参考下
    2014-07-07
  • 10个可以简化php开发过程的MySQL工具

    10个可以简化php开发过程的MySQL工具

    使用各种精心设计的工具来管理MySQL数据库要比单纯使用传统的方法轻松得的多。开发人员应该不断寻找那些能够缩短开发时间的工具。这也是我们本文整理这10个能够简化开发过程的MySQL工具的原因。
    2010-04-04
  • php复制文件后改名的实例代码

    php复制文件后改名的实例代码

    在本篇文章里小编给大家整理的是一篇关于php复制文件后改名的方法及相关内容,有兴趣的朋友们可以学习下。
    2021-09-09
  • php连接Access数据库错误及解决方法

    php连接Access数据库错误及解决方法

    前二天把一个asp+access的网站改成php+access的,在连连数据库时可真让我狠狠的郁闷了一把,通过百度了大量的相关文章终于解决了
    2013-06-06

最新评论