dede织梦后台验证码不显示怎么办???

资源来源网络,如需授权,请更换源码,模块仅供学习,如需商用请购买正版授权,本栏目不提供技术服务!
如遇蓝奏网盘打不开lanzous替换成lanzoux尝试!

  使用织梦dede也很长一段时间了,可是今天遇到一个问题就是验证码不显示,我网上找了很多资料,几乎全都是说权限和GD库的问题。

  可是按照这些方法试过后,验证码仍然不能显示。

  后来想到以前做网站的时候遇到一个UTF-8编码的BOM问题。于是就去网上找了段代码,去掉了整个网站文件的BOM。 去掉后验证码还真显示了。

  试分析了一下原因,可能是因为BOM会产生一个空行的输出。导致生成验证码的时候会产生错误,所以不能显示。

  批量去除BOM的方法:将以下代码保存为PHP文件,通过浏览器进行访问即可。

  

  //remove the utf-8 boms

  //by magicbug at gmail dot com

  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”).”
”;

  }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 (“BOM found,

  automatically removed.”);

  } else {

  return (“BOM found.

  ”);

  }

  }

  else return (“BOM Not Found.”);

  }

  function rewrite ($filename, $data) {

  $filenum=fopen($filename, “w”);

  flock($filenum, LOCK_EX);

  fwrite($filenum, $data);

  fclose($filenum);

  }

  ?>

©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!
织梦模板网 » dede织梦后台验证码不显示怎么办???
☉免责声明:本站所有模板均来自用户分享和网络收集,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服,我们核实后会立即删除。
☉如果源码网盘地址失效!或有其他问题,请点我报错,谢谢合作!
☉人民币与积分汇率为1比10,即1元=10积分.有任何疑问请联系客服
☉如有其他问题,请加网站客服QQ(330921598)进行交流。
☉本站提供的源码、模板、软件工具等其他资源,都不包含技术服务,请大家谅解!
☉源码、模板等资源会随着技术、环境的升级而存在部分问题,还请慎重选择。

发表评论

加入织梦模板网永久VIP 海量资源免费下载

立即查看 了解详情