当前位置:首页 > CMS教程 > DeDecms > 列表

解决织梦换服务器引起的页面不居中错位问题

发布:smiling 来源: PHP粉丝网  添加日期:2014-11-07 09:02:32 浏览: 评论:0 

页面之所以错位是因为utf8格式的文件多了BOM头,只要把这些BOM头去掉就可以了,php代码如下,保存成php文件放在根目录中执行一次就行了,会自动去除文件头中的BOM.

记住不要用记事本,用其他的文本编辑器.

  1. //remove the utf-8 boms 
  2. //by magicbug at gmail dot com 
  3. if (isset($_GET['dir'])){ //要去除的文件目录,无参数则为文件当前目录。 
  4. $basedir=$_GET['dir']; 
  5. }else
  6. $basedir = '.'
  7. $auto = 1; 
  8. checkdir($basedir); 
  9. function checkdir($basedir){ 
  10. if ($dh = opendir($basedir)) { 
  11.    while (($file = readdir($dh)) !== false) { 
  12.     if ($file != '.' && $file != '..'){ 
  13.      if (!is_dir($basedir."/".$file)) { 
  14.       echo "filename: $basedir
  15. $file ".checkBOM("$basedir/$file")." 
  16. "; 
  17.      }else
  18.       $dirname = $basedir."/"
  19. $file
  20.       checkdir($dirname); 
  21.      } 
  22.     } 
  23.    } 
  24. closedir($dh); 
  25. function checkBOM ($filename) { 
  26. global $auto
  27. $contents = file_get_contents($filename); 
  28. $charset[1] = substr($contents, 0, 1); 
  29. $charset[2] = substr($contents, 1, 1); 
  30. $charset[3] = substr($contents, 2, 1); 
  31. if (ord($charset[1]) == 239 && ord($charset[2]) == 187 && 
  32. ord($charset[3]) == 191) { 
  33.    if ($auto == 1) { 
  34.     $rest = substr($contents, 3); 
  35.     rewrite ($filename$rest); 
  36.     return ("BOM found,automatically removed."); 
  37.    } else { 
  38.     return ("BOM found."); 
  39.    } //phpfensi.com 
  40. else return ("BOM Not Found."); 
  41. function rewrite ($filename$data) { 
  42. $filenum = fopen($filename"w"); 
  43. flock($filenum, LOCK_EX); 
  44. fwrite($filenum$data); 
  45. fclose($filenum); 
  46. }

Tags: 页面不居中 dede页面错位

分享到: