PHP 去掉 utf8格式文件中的bom头部_PHP教程
例1
代码如下 | 复制代码 |
/** /** |
例2
如何将带有BOM文件的格式转换成无签名的UTF-8格式文件呢?下面分享给大家一段PHP代码:
代码如下 | 复制代码 |
//此文件用于快速测试UTF8编码的文件是不是加了BOM,并可自动移除 $basedir="."; //修改此行为需要检测的目录,点表示当前目录 //以下不用改动 if ($dh = opendir($basedir)) { function checkBOM ($filename) { function rewrite ($filename, $data) { |
例3
代码如下 | 复制代码 |
$BOMBED = array(); RecursiveFolder($HOME); echo ' These files had UTF8 BOM, but i cleaned them:'; // 递归扫描 function RecursiveFolder($sHOME) { global $BOMBED, $WIN; $win32 = ($WIN == 1) ? "\" : "/"; $folder = dir($sHOME); $foundfolders = array(); while ($file = $folder->read()) { if($file != "." and $file != "..") { if(filetype($sHOME . $win32 . $file) == "dir"){ $foundfolders[count($foundfolders)] = $sHOME . $win32 . $file; } else { $content = file_get_contents($sHOME . $win32 . $file); $BOM = SearchBOM($content); if ($BOM) { $BOMBED[count($BOMBED)] = $sHOME . $win32 . $file; // 移出BOM信息 $content = substr($content,3); // 写回到原始文件 file_put_contents($sHOME . $win32 . $file, $content); } } } } $folder->close(); if(count($foundfolders) > 0) { foreach ($foundfolders as $folder) { RecursiveFolder($folder, $win32); } } } // 搜索当前文件是否有BOM function SearchBOM($string) { if(substr($string,0,3) == pack("CCC",0xef,0xbb,0xbf)) return true; return false; } ?> |
推荐阅读
-
PHP 去掉 utf8格式文件中的bom头部_PHP教程
-
PHP 下载文件时如何自动添加bom头及解释BOM头和去掉bom头的方法,_PHP教程
-
检查php文件中是否含有bom的php文件_PHP教程
-
简单谈谈php中的unicode和utf8编码_PHP教程
-
php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)_PHP教程
-
php去掉URL网址中带有PHPSESSID的配置方法,urlphpsessid_PHP教程
-
PHP与MYSQL中UTF8编码的中文排序实例,_PHP教程
-
巧用php中的array_filter()函数去掉多维空值的代码分享_PHP教程
-
php中隐形字符65279(utf-8的BOM头)问题,65279bom_PHP教程
-
简单谈谈php中的unicode和utf8编码_PHP教程