Rumah >rangka kerja php >ThinkPHP >Bagaimana untuk membuang bom dalam thinkphp
Kaedah Thinkphp untuk mengalih keluar BOM: 1. Jalankan Editplus, klik "Tools", pilih "Preferences", dan kemudian tetapkan "logo UTF-8" 2. Buka fail melalui ultraedit dan pilih pengekodan masuk pilihan Simpan Sebagai Pilih "utf-8 tanpa pengepala BOM" dalam format 3. Gunakan program "92wcms.php" dalam direktori untuk mengalih keluar BOM.
Persekitaran pengendalian tutorial ini: sistem Windows 7, ThinkPHP versi 5, komputer Dell G3.
Bagaimana untuk membuang bom dalam thinkphp?
thinkphp kaedah BOM yang jelas
Dalam fail yang dikodkan utf-8, BOM berada dalam pengepala fail dan menduduki tiga bait untuk menunjukkan bahawa fail milik pengekodan UTF-8, kini terdapat banyak perisian yang mengenali pengepala BOM, tetapi masih ada yang tidak dapat mengecam pengepala BOM Sebagai contoh, PHP tidak dapat mengenali pengepala BOM Ini juga sebab ralat berlaku selepas mengedit UTF -8 pengekodan dengan Notepad. BOM hanya tersedia apabila "Notepad" digunakan untuk menyimpannya sebagai UTF-8 di bawah Windows Anda boleh menggunakan WINHEX untuk memadam 2 bait pertama. Dalam tetapan pengekodan dalam Dreamweaver, anda boleh menetapkan sama ada untuk memasukkan BOM Secara amnya, selagi output PHP bukan gambar (GDI Stream), BOM tidak akan menyebabkan masalah.
Terdapat dua cara mudah untuk mengalih keluar pengepala BOM:
1 Cara mengalih keluar pengepala BOM dengan editplus
Selepas editor dilaraskan kepada format pengekodan UTF8, simpan. ia Akan ada rentetan aksara tersembunyi (iaitu, BOM) di hadapan fail, yang digunakan oleh editor untuk mengenal pasti sama ada fail itu dikodkan dalam UTF8. Jalankan Editplus, klik Alat, pilih Keutamaan, pilih fail, dan pilih pengenalan UTF-8 Sentiasa padamkan tandatangan, dan kemudian edit dan simpan fail PHP tidak akan mempunyai BOM.
2. Cara mengalih keluar pengepala BOM dengan ultraedit
Selepas membuka fail, pilih format pengekodan dalam pilihan simpan sebagai (utf-8 tanpa pengepala BOM), dan sahkannya.
Untuk program PHP yang perlu mengalih keluar pengepala Bom, anda juga boleh menggunakan program 92wcms.php dalam direktori untuk mengalih keluarnya.
Sila jalankan kod berikut sekali
<?php if(isset($_GET['dir'])){ //config the basedir $basedir=$_GET['dir']; }else{ $basedir= '.'; } $auto= 1; checkdir($basedir); function checkdir($basedir){ if($dh= opendir($basedir)) { while(($file= readdir($dh)) !== false) { if($file!= '.'&& $file!= '..'){ 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=red>BOM found,automatically removed.</font>"); } else{ return("<font color=red>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); } ?>
Pembelajaran yang disyorkan: "Tutorial Video thinkPHP"
Atas ialah kandungan terperinci Bagaimana untuk membuang bom dalam thinkphp. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!