Heim  >  Artikel  >  Backend-Entwicklung  >  Was bedeutet PHP-BOM?

Was bedeutet PHP-BOM?

藏色散人
藏色散人Original
2023-02-20 09:43:403202Durchsuche

php bom ist eine Markierung, die verwendet wird, um zu bestimmen, welche Unicode-Kodierung eine Textdatei hat. In einer utf-8-kodierten Datei befindet sich die Stückliste im Dateikopf und belegt drei Bytes, um anzugeben, dass die Datei zur utf-8-Kodierung gehört.

Was bedeutet PHP-BOM?

Die Betriebsumgebung dieses Tutorials: Windows 10-System, PHP-Version 8.1, DELL G3-Computer

Was bedeutet PHP-BOM?

PHP-BOM

1. Alle Ajax-Anfragen, die über die Kontrollschicht zurückgegeben werden, haben einen kleinen roten Punkt am Anfang. Ich habe es überprüft, weil sich vor der Datei eine Stückliste befindet, obwohl dies später nachgewiesen wurde dass nicht alle Dateien über eine Stückliste verfügen. Es gibt eine Stückliste, die jedoch Probleme mit allen Dateirückgabedaten verursacht.

2. Was ist also Stückliste?

Antwort: In einer UTF-8-codierten Datei befindet sich das BOM im Header der Datei und belegt drei Bytes. Es wird verwendet, um anzuzeigen, dass die Datei zur UTF-8-Codierung gehört. Es gibt viele Softwareprogramme, die den BOM-Header erkennen , aber es gibt immer noch einige, die den BOM-Header nicht erkennen können. Dies ist beispielsweise auch der Grund, warum nach der Bearbeitung der UTF-8-Codierung mit Notepad ein Fehler auftritt.

3. Die Lösung besteht darin, einige Stücklistenskripte für die Stapelverarbeitung online zu finden und auszuführen. Sie können auch Tools wie editplus und Ultraedit ausführen, um das Problem zu lösen.

4. Stellen Sie abschließend eine BOM-Entfernungsdatei bereit und führen Sie sie einfach aus.

echo '当前查找的目录为:'.$basedir.'当前的设置是:';
echo $auto?&#39;检测文件BOM同时去除检测到BOM文件的BOM<br />&#39;:&#39;只检测文件BOM不执行去除BOM操作<br />&#39;;
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.&#39;/&#39;.$file)){
                    echo &#39;文件: &#39;.$basedir.&#39;/&#39;.$file .checkBOM($basedir.&#39;/&#39;.$file).&#39; <br>&#39;;
                }else{
                    $dirname=$basedir.&#39;/&#39;.$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 (&#39; <font color=red>找到BOM并已自动去除</font>&#39;);
        }else{
            return (&#39; <font color=red>找到BOM</font>&#39;);
        }
    }else{
        return (&#39; 没有找到BOM&#39;);
    }
}
function rewrite($filename,$data){
    $filenum=fopen($filename,&#39;w&#39;);
    flock($filenum,LOCK_EX);
    fwrite($filenum,$data);
    fclose($filenum);
}
?>

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas bedeutet PHP-BOM?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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