<?php
if (isset($_GET['dir'])){ //config the basedir
$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")." <br>";
}else{
$dirname = $basedir."/".
$file;
checkdir($dirname);
}
}
}
closedir($dh);
}
}
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 ("<font color=red>BOM found,automatically removed.</font>");
} else {
return ("<font color=red>BOM found.</font>");
}
}
else return ("BOM Not Found.");
}
function rewrite ($filename, $data) {
$filenum = fopen($filename, "w");
flock($filenum, LOCK_EX);
fwrite($filenum, $data);
fclose($filenum);
}
?>

  

最新文章

  1. 教你一招:根据身份证号计算出生年月和年龄 text函数和mid函数混用 datedif函数和today函数混用
  2. 利用Java自带的MD5加密
  3. 开源项目Foq简介
  4. PLSQL_闪回操作3_Fashback Transaction Query
  5. jquery 图片背景透明度(支持IE5/IE6/IE7)
  6. win7配置iis 出现:HTTP 错误 403.14 - Forbidden
  7. 关于GPS偏移的基础知识
  8. Java Swing paint repaint update 方法的关系
  9. Linux如此“自私”?
  10. Spring中报&quot;Could not resolve placeholder&quot;的解决方案
  11. HDFS基本原理及数据存取实战
  12. Unable to connect to Redis; nested exception is io.lettuce.core.RedisConnectionException: Unable to connect to ;XX.XX.XX.XX:6379] with root cause
  13. 【CF1154】题解
  14. 课程5:Spring框架2016版视频--视频列表目录
  15. python mmap对象
  16. java.sql.SQLException: ORA-00932: 数据类型不一致: 应为 -, 但却获得 CLOB
  17. [UE4]C++实现动态加载UObject:StaticLoadObject();以Texture和Material为例
  18. 【转】JVM参数设置、分析
  19. GIS+=地理信息+行业+大数据——基于云环境流处理平台下的实时交通创新型app
  20. 012-基于 git hooks 的前端代码质量控制解决方案

热门文章

  1. Windows 远程连接 CentOS 7 图形化桌面
  2. Python学习注脚
  3. python_不用循环打印1-1000
  4. SpringBoot学习:使用spring-boot-devtools进行热部署
  5. WAS集群:记一次Node Agent不活动问题解决过程
  6. 常用RAID简介_001
  7. (个人)Linux基本指令收集
  8. Java常量池的理解
  9. linux 系统安装mysql (rpm)
  10. ABBYY FineReader 12中的用户模式你会用吗