Dalam PHP, BOM (Byte Order Mark) ialah aksara Unikod khas yang digunakan untuk mengenal pasti susunan bait skema pengekodan Unicode. Walaupun BOM berguna dalam beberapa kes, ia cenderung menyebabkan masalah apabila ia berkaitan dengan fail PHP. Sebagai contoh, apabila melaksanakan fail PHP, BOM akan menjadi output kepada penyemak imbas, mengakibatkan hasil output yang tidak dapat diramalkan apabila menggabungkan berbilang fail PHP, BOM juga akan menyebabkan ralat sintaks. Oleh itu, adalah perlu bagi kita untuk mengalih keluar BOM dalam PHP secara berkelompok.
Kaedah 1: Gunakan editor teks
Editor teks moden biasanya menyokong pengalihan keluar BOM daripada fail. Berikut adalah langkah-langkah untuk menggunakan Notepad++ untuk mengalih keluar BOM dalam sistem Windows:
Jika anda menggunakan editor teks lain, anda boleh menyemak dokumentasi bantuannya untuk mengetahui cara mengalih keluar BOM daripada fail.
Kaedah 2: Gunakan skrip PHP
Jika anda perlu memproses sejumlah besar fail PHP, ia akan menjadi sangat membosankan untuk membuka dan menyimpan fail secara manual. Nasib baik, kami boleh menggunakan skrip PHP untuk mengalih keluar BOM dalam PHP secara berkelompok.
Berikut ialah skrip PHP mudah yang boleh membuang kumpulan BOM semua fail PHP dalam direktori yang ditentukan:
<?php function remove_bom($filename) { $bom = pack('H*','EFBBBF'); $contents = file_get_contents($filename); $contents = preg_replace("/^$bom/", '', $contents); file_put_contents($filename, $contents); } function batch_remove_bom($dir) { $files = glob($dir . "*.php"); foreach ($files as $file) { remove_bom($file); } } $dir = "/path/to/your/php/files/"; batch_remove_bom($dir);
Skrip pertama mentakrifkan fungsi remove_bom
untuk mengalih keluar BOM yang diberikan daripada fail. Ia mula-mula membaca kandungan fail dan kemudian menggunakan ungkapan biasa untuk mengalih keluar aksara BOM terkemuka. Akhirnya, kandungan baharu ditulis semula ke fail.
kemudian mentakrifkan fungsi batch_remove_bom
untuk membuang kumpulan BOM semua fail PHP dalam direktori yang ditentukan. Ia menggunakan fungsi glob
untuk mendapatkan semua fail PHP dalam direktori yang ditentukan, dan memanggil fungsi remove_bom
mengikut urutan untuk diproses.
Akhir sekali, pembolehubah $dir
ditakrifkan untuk menentukan direktori di mana fail PHP yang BOMnya perlu dialih keluar terletak. Semua fail PHP boleh diproses dengan memanggil fungsi batch_remove_bom
.
Ringkasan
Kedua-dua kaedah boleh membuang BOM secara berkumpulan dalam PHP. Jika anda hanya mempunyai sebilangan kecil fail PHP untuk diproses, lebih mudah untuk melakukannya secara manual menggunakan penyunting teks. Jika anda perlu memproses sejumlah besar fail PHP, disyorkan untuk menggunakan pemprosesan kelompok skrip PHP. Tidak kira kaedah yang anda gunakan, pastikan anda membuat sandaran fail asal untuk mengelakkan kesilapan.
Atas ialah kandungan terperinci Keluarkan BOM dalam php secara berkelompok. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!