php教程

PHP批量自动清除php文件BOM头脚本代码分享

php教程 51源码 2024-06-27 人阅读

BOM头介绍

BOM头,全称Byte Order Mark,中文名为“字节顺序标记”。它出现在文本文件的头部,主要用于标识文件的编码格式。

造成原因大部分是因为直接使用记事本打开修改php代码,保存没注意,使PHP带了BOM头。所以我们只需要用专业的编辑器工具打开文件,重新保存,保存选择去掉BOM头即可。

批量自动清除BOM头

这里分享下自用的PHP批量自动清除php文件BOM头脚本代码,只需要上传到目录,然后浏览器访问运行即可自动清除目录下的所有php文件BOM头,代码如下:

<?php
header("Content-Type:text/html; charset=utf-8");
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 "文件名称: $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并且已自动删除</font>");
} else {
return ("<font color=red>发现BOM</font>");
}
}
else return ("没有发现BOM");
}
function rewrite ($filename, $data) {
$filenum = fopen($filename, "w");
flock($filenum, LOCK_EX);
fwrite($filenum, $data);
fclose($filenum);
}
?>


上一篇:PHP报错:PHP Notice: Undefined variable: _SESSION解决方法 下一篇:PHP报错SWOOLEC loader ext not installed,及SWOOLEC loader安装方法 栏目分类

帝国CMS教程

织梦cms教程

discuz教程

ecshop教程

phpcms教程

wordpress教程

苹果cms教程

php教程

数据库教程

微信小程序教程

python教程

css教程

js教程

视频教程

电子书

最新更新
  • 01 PHP报错SWOOLEC loader ext not installed,及SWOOLEC loader安装方法 1天前
  • 02 PHP批量自动清除php文件BOM头脚本代码分享 1个月前
  • 03 PHP报错:PHP Notice: Undefined variable: _SESSION解决方法 5个月前
  • 04 使用PHP获取XHR请求来源方法 5个月前
  • 05 thinkphp请求调用API接口函数分享 5个月前
热门推荐
  • 01 分享几个随机美女图api接口 4701热度
  • 02 优学院自动刷课PHP代码 813热度
  • 03 最新蓝奏云直连解析API接口php代码 671热度
  • 04 php文件限速下载示例代码 669热度
  • 05 随机二次元图片API接口源码 644热度
版权声明:文章搜集于网络,如有侵权请联系本站,转载请说明出处:https://www.51yma.cn/jiaocheng/php/1466.html
文章来源:
标签