PHP批量去除BOM头代码分享
PHP的BOM头清除之旅
在Web开发中,有时会遭遇一些不必要的BOM头问题。为此,我们分享一个简单的PHP脚本,用于批量去除文件中的BOM头。这对于处理UTF-8编码的文件尤其重要,因为BOM头可能会引发一系列的问题。现在就让我们一起了解如何实现这一功能吧!
我们设置一个基本的PHP脚本框架,来遍历指定目录中的所有文件。对于每一个文件,我们将检查其是否包含BOM头。以下是核心功能的实现代码:
```php
// 设置内容类型为HTML并指定字符集为UTF-8
header("Content-Type:text/html; charset=utf-8");
// 启动目录检查过程
checkdir("D:\wamp\sales");
function checkdir($basedir) {
if ($dh = opendir($basedir)) {
while (($file = readdir($dh)) !== false) {
if ($file != '.' && $file != '..'){
if (!is_dir($basedir."/".$file)) {
echo "文件名称: $basedir/$file ".checkBOM("$basedir/$file")."
";
} else {
$dirname = $basedir."/".$file;
checkdir($dirname);
}
}
}
closedir($dh);
}
}
function checkBOM($filename) {
global $auto;
$contents = file_get_contents($filename);
$charset = array(); // 用于存储BOM头可能的字符序列的前三个字节的数组
$charset[1] = substr($contents, 0, 1);
$charset[2] = substr($contents, 1, 1);
$charset[3] = substr($contents, 2, 1);
// 检查前三个字节是否匹配BOM头的特征序列(EF BB BF)
if (ord($charset[1]) == 239 && ord($charset[2]) == 187 && ord($charset[3]) == 191) {
if ($auto == 1) {
// 如果自动处理模式开启,移除BOM头并保存文件内容到新文件中,同时更新原始文件内容为新内容。这样确保了文件内容不会被破坏。同时返回提示信息。
编程语言
- PHP批量去除BOM头代码分享
- 使用PHP下载CSS文件中的所有图片【几行代码即可
- 完美解决ASP 不能更新。数据库或对象为只读。
- ASP.NET 防止按钮多次提交核心实现代码
- JavaScript中使用指数方法Math.exp()的简介
- 完美解决-Apache启动问题—(OS 10022)提供了一个无效
- jquery使用each方法遍历json格式数据实例
- Require.JS中的几种define定义方式示例
- 通过JS和PHP两种方法判断用户请求时使用的浏览器
- JS实现元素上下左右移动效果
- 在SQL Server中使用SQL语句查询一个存储过程被其它
- php中用加号与用array_merge合并数组的区别深入分析
- php短网址和数字之间相互转换的方法
- mysql group by having 实例代码
- Thinkphp模板标签if和eq的区别和比较实例分析
- js+HTML5 canvas 实现简单的加载条(进度条)功能示例