/**

功能:检测并清除BOM

link:bbs.it-home.org

*/

if(isset($_GET['dir'])){

$basedir=$_GET['dir'];

}else{

$basedir = '.';

}

$auto = 1;

checkdir($basedir);

function checkdir($basedir){

if($dh = opendir($basedir)){

while(($file = readdir($dh)) !== false){

if($file != '.' && $file != '..'){

if(!is_dir($basedir."/".$file)){

echo "filename: $basedir/$file ".checkBOM("$basedir/$file")."

";

}else{

$dirname = $basedir."/".$file;

checkdir($dirname);

}

}

}//end while

closedir($dh);

}//end if($dh

}//end function

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($charset[2]) == 187 && ord($charset[3]) == 191){

if($auto == 1){

$rest = substr($contents, 3);

rewrite ($filename, $rest);

return "BOM found, automatically removed.";

}else{

return ("BOM found.");

}

}

else return ("BOM Not Found.");

}

function rewrite($filename, $data){

$filenum = fopen($filename, "w");

flock($filenum, LOCK_EX);

fwrite($filenum, $data);

fclose($filenum);

}

?>

php 清除内容中的bom,检查并清除php文件中bom的函数相关推荐

  1. Pads/Powerpcb 将BOM中的元件值导入到PCB文件中

    这段代码是将文件文件"reflist.txt"中的元件值导入到pcb文件中的元件属性中,使用操作步骤: 1. 将代码复制到文本文件中,保存为loadBomValue2PCB.bas ...

  2. python文件读取方法read(size)的含义是_在Python中可使用read([size])来读取文件中的数据,如果参数size省略,则读取文件中的()。...

    [单选题]李明在他所属的公司工作五年,每天都很认真地处理繁杂的事情,同事们都夸他认真,但是依然没有建树,这是因为: [多选题]品牌标志的作用表现在 [单选题]新产品开发的第一个阶段是_______. ...

  3. arcmap中有火星坐标码_在ArcMap中使用坐标值转换一个CAD文件中的坐标位置

    (2013-04-13 20:51:19) 转 载 ▼ 标签: 股票 分类: GIS 技术研究 您现在的位置 : 首页 -> 知识库 -> ArcGIS Desktop -> 技术文 ...

  4. 【Groovy】Xml 反序列化 ( 使用 XmlParser 解析 Xml 文件 | 获取 Xml 文件中的节点和属性 | 获取 Xml 文件中的节点属性 )

    文章目录 一.创建 XmlParser 解析器 二.获取 Xml 文件中的节点 三.获取 Xml 文件中的节点属性 四.完整代码示例 一.创建 XmlParser 解析器 创建 XmlParser 解 ...

  5. Android开发过程中在sh,py,mk文件中添加log信息的方法

    Android开发过程中在sh,py,mk文件中添加log信息的方法 在sh文件中: echo "this is a log info" + $info 在py文件中: print ...

  6. 【OpenCV3】cv::Mat中的数据按行列写入txt文件中

    在使用opencv进行图像处理的过程中,经常会涉及到将文件中的数据读入到cv::Mat中,或者将cv::Mat中的数据写入到txt文件中. 下面就介绍一种我常用的将cv::Mat中的数据写入到txt文 ...

  7. python文件读取方法read(size)的含义是_在Python中可使用read([size])来读取文件中的数据,如果参数size省略,则读取文件中的()。(4.0分)_学小易找答案...

    [单选题]文本文件存储的是(),由若干文本行组成,通常每行以换行符 '\n' 结尾.(4.0分) [单选题]()属性是返回被打开文件的访问模式.(4.0分) [单选题]重力坝是由砼或( )修筑而成的大 ...

  8. Python3中使用json将字典转为json文件中的乱码问题

    Python中使用json将dict转为json文件中的乱码问题 今天想把python中的dict中间数据用json文件保存下来,使用的是json的dumps方法 json.dumps(doctor_ ...

  9. sed删除以什么开头的内容_技术|如何使用 sed 命令删除文件中的行

    Sed 代表流编辑器Stream Editor,常用于 Linux 中基本的文本处理.sed 命令是 Linux 中的重要命令之一,在文件处理方面有着重要作用.可用于删除或移动与给定模式匹配的特定行. ...

  10. python查找并修改文件中的内容_如何使用Python搜索和替换文件中的文本?

    如何使用Python搜索和替换文件中的文本? 如何使用Python 3搜索和替换文件中的文本? 这是我的代码:import osimport sysimport fileinputprint (&qu ...

最新文章

  1. iOS和android h5字体差异,关于移动hybrid开发中H5页面的字体应与系统保持一致的问题...
  2. Linux C编程--网络编程3--面向无连接的网络编程
  3. Linux C编程--操作文件结束和错误的判断方法(函数)
  4. DeepMind:所谓SACX学习范式
  5. PID控制器开发笔记之十三:单神经元PID控制器的实现
  6. Qt工作笔记-使用SQL中的LIMIT进行数据分页
  7. LeetCode 117. 填充每个节点的下一个右侧节点指针 II
  8. CISCO路由器连接ADSL之PPPoE配置
  9. win7登录密码破解
  10. 葡萄柚能放冰箱保存吗 葡萄柚怎么保存时间长
  11. 黄牛落泪!全球显卡价格纷纷跳水,高价囤货滞销
  12. VLC初始加载优化:avformat_find_stream_info接口延迟降低
  13. java双人游戏_Java 简易双人坦克游戏实现
  14. 海关统计:各地级市-进出口与贸易差额(2000-2020)
  15. 51单片机学习笔记之新建工程、点亮一盏小灯
  16. 一加5t升级android8.0,一加5/5T升级Android8.0 这些强大的功能用起来太爽了!
  17. 硬盘的扇面、磁道、扇区
  18. 最新最全论文合集——数据库与人工智能
  19. 【SQL】SQL中的IN方法:查询多种状态值
  20. html导航默认选中状态,css 导航栏下划线跟随效果,默认第一个li为选中状态

热门文章

  1. 前沿技术分享,让你在算法圈“技”高一筹
  2. 万物皆可Graph | 当推荐系统遇上图神经网络(二)
  3. 【论文】Awesome Relation Classification Paper(关系分类)(PART I)
  4. http抓包实战 pdf_抓包实战 | 浏览器里的HTTP请求到底是如何完成的?
  5. TensorFlow2.0:张量的合并与分割
  6. SpringBoot指南(三)——静态资源、欢迎页、Favicon、默认页面
  7. Python的numpy基本用法
  8. Python爬虫入门之使用Redis+Flask维护动态代理池
  9. Focal Loss for Dense Object Detection(RetinaNet)(代码解析)
  10. poj 3590 The shuffle Problem——DP+置换