Maison >développement back-end >tutoriel php >去掉Bom头:thinkPHP中验证码无法显示
去除Bom头:thinkPHP中验证码无法显示
<?php /*清除rom*/if(isset($_GET['dir'])){$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);}}}//end whileclosedir($dh);}//end if($dh}//end functionfunction 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.");}//end functionfunction rewrite($filename, $data){$filenum = fopen($filename, "w");flock($filenum, LOCK_EX);fwrite($filenum, $data);fclose($filenum);}?>