<? Php/*** usage: copy the following code to the new php file, place the php file in the project directory, and run it. The Code comes from the network. * Chenwei note. */Header ('content-Type: text/html; charset = UTF-8 '); $ auto = 1;/* set it to 1 to detect BOM and remove it, if it is set to 0, only BOM detection is performed. */$ basedir = 'is not removed '. '; $ loop = true; echo' the current directory is :'. $ basedir. 'Current settings are: '; echo' (1) ', $ loop? 'Check the current directory and the subdirectory of the current directory': 'check the current directory only '; echo' (2) ', $ auto? 'Check the file BOM and remove the BOM detected in the BOM file <br/> ': 'Only check the file BOM and do not perform the BOM removal operation. <br/>'; checkdir ($ basedir, $ loop); function checkdir ($ basedir = '', $ loop = true) {$ basedir = empty ($ basedir )? '.': $ Basedir; if ($ dh = opendir ($ basedir) {while ($ file = readdir ($ dh ))! = False) {if ($ file! = '.' & $ File! = '..') {If (! Is_dir ($ basedir. '/'. $ file) {echo 'file :'. $ basedir. '/'. $ file. checkBOM ($ basedir. '/'. $ file ). '<br>';} else {if (! $ Loop) continue; $ 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> Find the BOM and remove it automatically </font> ');} else {return ('<font color = red> find BOM </font>') ;}} else {return ('no BOM found ');}} function rewrite ($ filename, $ data) {$ filenum = fopen ($ filename, 'w'); flock ($ filenum, LOCK_EX); fwrite ($ filenum, $ data ); fclose ($ filenum );}