Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah maksud php bom?

Apakah maksud php bom?

藏色散人
藏色散人asal
2023-02-20 09:43:403190semak imbas

php bom ialah tanda yang digunakan untuk menentukan pengekodan Unikod mana satu fail teks dalam fail yang dikodkan utf-8, BOM berada dalam pengepala fail dan menduduki tiga bait untuk menunjukkan bahawa fail itu milik; pengekodan utf -8.

Apakah maksud php bom?

Persekitaran pengendalian tutorial ini: sistem Windows 10, PHP versi 8.1, komputer DELL G3

Apakah maksud php bom ?

PHP-BOM

1. Penerangan masalah: Semua permintaan ajax yang dikembalikan menggunakan lapisan kawalan akan mempunyai titik merah kecil yang saya periksa kerana terdapat BOM di hadapan daripada fail tersebut. Walaupun kemudiannya terbukti bahawa tidak semua fail mengandungi BOM, ia menyebabkan masalah dengan data yang dikembalikan oleh semua fail.

2. Jadi, apakah itu BOM?

Jawapan: Dalam fail yang dikodkan UTF-8, BOM berada dalam pengepala fail dan menduduki tiga bait Ia digunakan untuk menunjukkan bahawa fail itu tergolong dalam pengekodan UTF-8 mengenali pengepala BOM, tetapi masih terdapat Beberapa tidak dapat mengecam pengepala BOM Contohnya, PHP tidak dapat mengecam pengepala BOM Ini juga sebab ralat berlaku selepas menyunting pengekodan UTF-8 dengan Notepad.

3. Penyelesaiannya ialah mencari beberapa skrip BOM yang memproses kumpulan dalam talian dan menjalankannya Anda juga boleh menjalankan alatan seperti editplus dan Ultraedit untuk menyelesaikan masalah.

4 Akhir sekali, sediakan fail penyingkiran BOM dan jalankan sahaja.

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

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Apakah maksud php bom?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn