问题欢迎!我白天是个邮递员,晚上就是个有抱负的演员。这是我的网站。我住在天朝的帝都,有条叫做Jack的狗。
我们发现织梦CMS后台登录界面的验证码无法显示,头部还多了一行空行,这种是什么问题?现在系统无法登录了,怎么办?

造成原因大部分是因为直接使用记事本打开修改php代码,保存没注意,使PHP带了BOM头。所以我们只需要勇专业的编辑器工具打开文件,重新保存,保存选择去掉BOM头即可。
或者在data目录、include目录、dede目录下分别上传一个bom.php,然后分别打开这三个文件,文件会自动去掉所在目录下的所有文件的BOM头。
bom.php代码如下:
<?phpheader("Content-Type:text/html; charset=utf-8");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 "文件名称: $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并且已自动删除</font>");} else {return ("<font color=red>发现BOM</font>");}}else return ("没有发现BOM");}function rewrite ($filename, $data) {$filenum = fopen($filename, "w");flock($filenum, LOCK_EX);fwrite($filenum, $data);fclose($filenum);}?>
