Maison >développement back-end >Problème PHP >Que signifie php bom ?

Que signifie php bom ?

藏色散人
藏色散人original
2023-02-20 09:43:403220parcourir

php bom est une marque utilisée pour déterminer quel est le codage Unicode d'un fichier texte ; dans un fichier codé en utf-8, la nomenclature est dans l'en-tête du fichier et occupe trois octets pour indiquer que le fichier appartient au codage utf-8.

Que signifie php bom ?

L'environnement d'exploitation de ce tutoriel : système Windows 10, PHP version 8.1, ordinateur DELL G3

Que signifie php bom ?

PHP-BOM

1. Description du problème : toutes les requêtes ajax renvoyées à l'aide de la couche de contrôle auront un petit point rouge attaché devant. Je l'ai vérifié car il y a une nomenclature devant le fichier, bien que cela ait été prouvé plus tard. que tous les fichiers n'ont pas de nomenclature. Il existe une nomenclature, mais cela pose des problèmes avec toutes les données renvoyées par les fichiers.

2. Alors, qu'est-ce que la nomenclature ?

Réponse : Dans un fichier encodé en UTF-8, la nomenclature est dans l'en-tête du fichier et occupe trois octets. Elle est utilisée pour indiquer que le fichier appartient à l'encodage UTF-8. Il existe de nombreux logiciels qui reconnaissent l'en-tête de la nomenclature. , mais certains ne peuvent pas reconnaître l'en-tête BOM, par exemple, PHP ne peut pas reconnaître l'en-tête BOM. C'est aussi la raison pour laquelle une erreur se produit après la modification de l'encodage UTF-8 avec le Bloc-notes.

3. La solution consiste à trouver des scripts de nomenclature de traitement par lots en ligne et à les exécuter. Vous pouvez également exécuter des outils comme editplus et Ultraedit pour résoudre le problème.

4. Enfin, fournissez un fichier de suppression de nomenclature et exécutez-le simplement.

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);
}
?>

Apprentissage recommandé : "Tutoriel vidéo PHP"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn