Home  >  Article  >  Backend Development  >  Batch remove BOM PHP code from PHP files_PHP tutorial

Batch remove BOM PHP code from PHP files_PHP tutorial

WBOY
WBOYOriginal
2016-07-21 15:19:54896browse

If you need to remove the BOM, put the tool.php file in the attachment into the target directory, and then access tool.php in the browser!

Copy code The code is as follows:

//This file is used to quickly test UTF8 encoding Whether the file has a BOM added and can be automatically removed
$basedir="."; //Modify the directory that needs to be detected for this behavior. The dot indicates the current directory
$auto=1; //Whether it can be automatically removed Discovered BOM information. 1 means yes, 0 means no.
//No need to change the following
if ($dh = opendir($basedir)) {
while (($file = readdir($dh)) !== false) {
if ($ file!='.' && $file!='..' && !is_dir($basedir."/".$file))
echo "filename: $file ".checkBOM("$basedir/$file" )."
";
}
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.");
} else {
return ("BOM found.");
}
}else
return ("BOM Not Found.");
}
function rewrite ($filename, $data) {
$filenum=fopen($filename," w");
flock($filenum,LOCK_EX);
fwrite($filenum,$data);
fclose($filenum);
}
?>

PHP batch removes BOM code from PHP files
Copy the code The code is as follows:

if (isset($_GET['dir'])){ //Set the file directory
$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")."
";
}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 ("BOM found, automatically removed._http://www.joyphper.net");
} else {
return ("BOM found.");
}
}
else return ("BOM Not Found.");
}
function rewrite ($filename, $data) {
$filenum = fopen($filename, "w");
flock($filenum, LOCK_EX);
fwrite($filenum, $data);
fclose($filenum);
}
? >

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/325245.htmlTechArticleIf you need to remove the BOM, put the tool.php file in the attachment into the target directory, and then access tool in the browser .php is enough! Copy the code. The code is as follows: ?php //This file is used to quickly test UTF8 encoding...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn