专注网络资源免费分享平台
PHP批量自动清除php文件BOM头脚本代码分享

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

4G社区 PHP教程 0

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经验分享

免责声明:

本站提供的资源,都来自网络,版权争议与本站无关,所有内容及软件的文章仅限用于学习和研究目的。不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,我们不保证内容的长久可用性,通过使用本站内容随之而来的风险与本站无关,您必须在下载后的24个小时之内,从您的电脑/手机中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。侵删请致信E-mail: 1743348666@qq.com

同类推荐
评论列表
签到
未分类 PHP批量自动清除php文件BOM头脚本代码分享
BOM头介绍 BOM头,全称Byte Order Mark,中文名为“字节顺序标记”。它出现在文本文件的头部,主要用于标识文件的编码格式。 造成原因大部分是因为直接使用记事本打开修改php代码,保存没注意,使PHP带了BOM头。所以我们只需要用专业的编辑器工具打开文件,重新保存,保存选择去掉BOM头即可。 批量自动清除BOM头 这里分享下自用的PHP批量自动......
扫描二维码阅读原文
四季社区 January, 01
生成社交图 ×