分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

PHP批量去除bom头代码

发布时间:2023-09-06 01:08责任编辑:赖小花关键词:PHP

  最近遇到一个问题编码问题,有点让人头痛,百度的方法好像不太好用,所以我自己也找了很久,现在总结一个小方法去除utf-8bom的方法,页面总会出现&#65279导致页面顶部空白一行,方法如下:

  保存为一个php文件,放到网站根目录下,运行可以遍历文件夹并自动清除bom,对文件绝对安全,亲测过的。

  

<?php ???/* ????* PHP批量去除bom头代码的小工具 ????*/ ???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头代码

原文地址:http://www.cnblogs.com/sunny520/p/7798296.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved