So entfernen Sie PHP-Bom

藏色散人
Freigeben: 2023-03-14 11:00:02
Original
1595 Leute haben es durchsucht

So entfernen Sie PHP-BOM: 1. Suchen Sie das PHP-Stammverzeichnis. 2. Platzieren Sie die „function checkBOM($filename){...}“ und andere Codes im Stammverzeichnis und führen Sie sie über den Browser aus, um darauf zuzugreifen.

So entfernen Sie PHP-Bom

Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.4, Dell G3-Computer.

Wie entferne ich PHP-Bom?

Einfache Möglichkeit, BOM mit PHP zu entfernen

/* 
 +------------------------------------------------------------------------------------------- 
 + Title        : 去掉BOM头方法 
 + Author       : hello_sgw 
 + Version      : V1.0.0.1 
 + Initial-Time : 2017-08-12 15:18
 + Last-time    : 2017-08-12 16:01
 + Desc         : 
 +------------------------------------------------------------------------------------------- 
*/
Nach dem Login kopieren

Als ich die Schnittstelle aufrief, wurden bei der Ausgabe eines Datensatzes immer wieder Fehler angezeigt, da ich die von der anderen Partei bereitgestellte Methode verwendete von der anderen Partei könnte Codierungsprobleme enthalten (mit Stücklistenkopf), daher habe ich online nach einer Methode gesucht, um Stücklisten zu erkennen und diese zu entfernen und eine neue Datei neu zu generieren. Nach der Verwendung können die Daten normal angezeigt werden.

Was ist ein Stücklistenkopf?

BOM – Byte Order Mark, der chinesische Name wird als „Byte Order Mark“ übersetzt. In einer utf-8-codierten Datei befindet sich die Stückliste im Header der Datei und belegt dies Die Datei gehört zur UTF-8-Kodierung.

Es gibt viele Softwareprogramme, die den BOM-Header erkennen können, aber es gibt immer noch einige, die den BOM-Header nicht erkennen können. Aus diesem Grund tritt ein Fehler auf nach Bearbeitung der UTF-8-Kodierung mit Notepad.

Lösung:

# 这里代码为PHP方式去除当前目录及字目录所有文件BOM信息,只要将此代码文件放到根目录下,然后浏览器运行访问就可以了
<?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);
}
Nach dem Login kopieren

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo entfernen Sie PHP-Bom. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
bom
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!