`
仍唱我的歌
  • 浏览: 5570 次
  • 来自: 贵阳
社区版块
存档分类
最新评论

PHP清除BOM的PHP脚本

阅读更多

文件放在网站的根目录执行

<?php
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")." <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);
}
?>
 

 

分享到:
评论

相关推荐

    php清除BOM头

    在PHP编程中,"php清除BOM头"是一个常见的需求,特别是在处理UTF-8编码的文件时。BOM(Byte Order Mark)是一个特殊的字符序列,用于标识文件的字符编码方式。在UTF-8编码中,BOM头由三个字节(0xEF, 0xBB, 0xBF)...

    php去除BOM头

    在大多数情况下,BOM头对于终端用户是不可见的,但对于某些程序或系统,如PHP脚本,可能会引发问题。 **一、BOM头的影响** 1. **显示问题**:在浏览器中,如果HTML文档以UTF-8带BOM格式存储,可能导致页面显示异常...

    BOM清除小工具.rar_BOM

    这通常涉及到在本地服务器环境下运行PHP脚本,因为Bom.php是一个PHP文件,它可能包含了一个自动化处理目录内所有文件BOM的逻辑。 BOM清除的原理通常是读取文件内容,检测并移除UTF-8 BOM头,然后重新写入文件。在...

    基于PHP的BOM移除工具源码.zip

    这个工具对于那些需要确保其PHP脚本或HTML文件无BOM的开发者来说,是非常实用的。 首先,我们需要理解BOM的工作原理。BOM是UTF-8编码的一个签名,由三个字节(0xEF, 0xBB, 0xBF)组成,用来指示文件是以UTF-8编码的...

    bom.rar_BOM

    描述中提到的“php清楚文件头部bom,以使得清除网站页面顶部的留白与部分乱码”,这是指在PHP文件中,如果含有BOM头,可能会在页面渲染时引起不必要的空行或字符混乱,尤其是当浏览器不期待这个BOM存在时。...

    使用php清除bom示例

    通过阅读这篇文章,我们可以了解到清除PHP文件BOM的重要性,掌握了检测和清除BOM的代码实现方法,以及如何处理PHP脚本中的“莫明输出”问题,从而在处理文本数据和输出特定类型文件时更加得心应手。

    解决项目中html去除BOM问题

    为了清除HTML文件中的BOM,我们可以编写一个简单的PHP脚本来遍历指定目录下的所有文件,并检查每个文件是否存在BOM。如果存在,则移除之。具体实现方法如下: ```php &lt;?php // 获取当前脚本所在目录 $basedir = str...

    BOM检测工具 v1.0.0.rar

    在处理PHP源码时,BOM可能导致解析错误或在某些编辑器中显示不正常,因此,此工具可以帮助开发者识别并消除这些问题。 压缩包内的文件名为"BOMjiancegongju v1.0.0",这很可能是该BOM检测工具的可执行文件或源代码...

    检查php文件中是否含有bom的函数

    10. 代码的健壮性:编写用于检测和处理BOM的PHP脚本时,应该考虑到代码的健壮性,包括错误处理机制,确保在读取文件、处理数据或写入文件时,遇到问题能给出明确的提示,便于开发者或用户进行问题排查和解决。...

    PHP批量删除、清除UTF-8文件BOM头的代码实例

    在处理文本数据时,尤其是从不同的系统或编辑器导出的文本文件,我们...通过这些知识点,开发者能够理解和实现PHP脚本,有效地批量处理文件夹内所有文件的BOM头问题,从而避免在不同应用环境中可能出现的兼容性问题。

    editplus4_php版

    脚本文件格式为UNIX,编码为UTF-8(清除BOM)。 加入等宽编程字体Consolas及Andale Mono。请开启windows的ClearType以达到最佳效果。 采用最新PHP语法文件、PHP模板及自动完成文件(功能关闭),优化...

    如何使用PHP批量去除文件UTF8 BOM信息

    上述PHP脚本会帮助开发者清除项目中的所有PHP文件头部的UTF-8 BOM信息,从而避免了由于BOM引起的页面空白和功能异常问题。需要注意的是,文件处理操作具有一定的风险,建议在操作前进行备份,以防不测导致数据丢失。...

    PHP验证码无法显示的原因及解决办法

    1. 字符编码问题:在处理验证码生成的PHP脚本文件中,如果文件编码是UTF-8,可能会存在BOM(字节顺序标记)的问题。BOM是位于UTF-8编码文本文件开始处的一个额外的字节序列,它可能会在HTTP响应中引起干扰,从而影响...

    LAMP内容总结

    3. **消除BOM(Byte Order Mark)**:转换文件至UTF-8编码时,有时会自动添加BOM。BOM虽然在某些情况下无害,但在HTML和PHP中可能导致乱码或错误。使用Dreamweaver或EditPlus等工具可以轻松移除BOM。 4. **服务器端...

    微信二维码活码.zip

    1. `.htaccess`:这是一个Apache服务器的配置文件,用于定义URL重写规则,可能在这个场景下用于隐藏真实PHP脚本路径,提高网站安全性,也可能用于处理SEO友好的URL结构。 2. `favicon.ico`:这是网站的图标,显示在...

    php出现Cannot modify header information问题的解决方法大全

    在PHP编程过程中,有时会遇到一个常见的错误提示:“Cannot modify header ...在开发过程中,养成良好的编码习惯,避免在PHP脚本的开头使用空格、换行符,以及确保文件编码正确,也是防止此类问题的重要措施。

    PHP乱码问题,UTF-8乱码常见问题小结

    1. 在PHP脚本的开始处使用`header()`函数设置页面编码: ```php header("Content-Type: text/html;charset=utf-8"); ``` 这应在任何输出内容之前进行。 2. 检查PHP源文件的编码:确保PHP文件以UTF-8无BOM格式...

    php下载文件的代码示例

    `ob_clean()`和`flush()`用来清除缓冲区并立即发送数据,`readfile()`函数读取并输出文件内容,最后使用`exit`结束脚本执行。 接下来,代码中提到了在线预览PDF文件的代码: ```php &lt;?php public function ...

    帝国CMS远程保存图片的方法

    首先,要实现帝国CMS远程保存图片,可以通过编写PHP脚本中的自定义函数来完成。在自定义函数中,我们使用PHP的文件操作函数来实现从远程服务器下载图片并保存到本地服务器的功能。具体实现步骤如下: 1. **设置脚本...

    EditPlus 2整理信箱的工具

    在弹出对话框里面输入要清除的行首字符,确定 【4】正则表达式应用——替换带有半角括号的多行 几百个网页中都有下面一段代码: &lt;!-- htmlAdWH('93163607', '728', '90'); //--&gt; 我想把它们都去掉,可是找了很多...

Global site tag (gtag.js) - Google Analytics