Home >Backend Development >PHP Problem >How to remove 65279 from php files

How to remove 65279 from php files

藏色散人
藏色散人Original
2021-04-02 09:25:181896browse

How to remove 65279 from php files: First create a PHP sample file; then check and remove BOM information of all files in the current directory and subdirectories through "function checkdir($basedir){...}" and other methods; Finally, place it in the root directory.

How to remove 65279 from php files

The operating environment of this article: Windows 7 system, PHP version 7.1, DELL G3 computer

  • PHP batch detection and removal File BOM header code exampleSolution to causing blank lines

Because the file header information outputs BOM header information, sometimes it will affect the execution results of the program. Then the BOM information of these files should be removed at this time

The following code is the PHP code to remove the BOM information of all files in the current directory and subdirectories, create a new file, put it in the root directory, and then browser Just visit.

<?php
if (isset($_GET[&#39;dir&#39;])) { //设置文件目录  
    $basedir = $_GET[&#39;dir&#39;];
} else {
    $basedir = &#39;.&#39;;
}
$auto = 1;
checkdir($basedir);
function checkdir($basedir)
{
    if ($dh = opendir($basedir)) {
        while (($file = readdir($dh)) !== false) {
            if ($file != &#39;.&#39; && $file != &#39;..&#39;) {
                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=&#39;red&#39;>BOM found, automatically removed.</font>");
        } else {
            return ("<font color=&#39;red&#39;>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);
}
?>

[Recommended learning: PHP video tutorial]

The above is the detailed content of How to remove 65279 from php files. For more information, please follow other related articles on the PHP Chinese website!

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