怪码问题

一个空行引发的血案(验证码奇怪问题之解决) - ThinkPHP框架
过完年碰到一个奇怪问题,一直用的一套代码验证码突然不显示了。
于是开始了各种排查:
gd库,dom头等等,最后甚至重新部署了apache,更新了thinkphp......
总之各种折腾,整整72个小时,搞不定。
甚至情人节都搞成ED的。
就是搞不定。
最后的最后,发现:
config.php第一行不知道谁多拍了一个回车,产生了一个空行!!!!
删掉,一切正常。
一个空行啊,也会产生错误。
什么叫就怕猪一样的队友!!
建议大家php文件的第一行千万别空行啊。
另外附上一个自动去除bom的代码吧:&?php&&
if&(isset($_GET['dir'])){&//设置文件目录&&
$basedir=$_GET['dir'];&&
$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.&/&.$&&
&&&&&checkdir($dirname);&&
closedir($dh);&&
function&checkBOM&($filename)&{&&
global&$&&
$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._&a&href=&&/a&&/font&&);&&
&&}&else&{&&
&&&return&(&&font&color=red&BOM&found.&/font&&);&&
else&return&(&BOM&Not&Found.&);&&
function&rewrite&($filename,&$data)&{&&
$filenum&=&fopen($filename,&&w&);&&
flock($filenum,&LOCK_EX);&&
fwrite($filenum,&$data);&&
fclose($filenum);&&
积分:2000
ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。只需一步,快速开始
查看: 1026|回复: 6
京瓷FS-6030的怪问题出4100代码
主题帖子积分
技术员, 积分 187, 距离下一级还需 113 积分
技术员, 积分 187, 距离下一级还需 113 积分
在线时间82 小时
开始是机器不认纸盒,清理一下传感器倒是行了可是一试印就出代码了4100,关机开机还是出4100,把激光器在其他机子上试了正常,排除激光器的问题,主板在别的机子上试了也正常,还有可能是其他问题吗?和驱动板有关吗?很是郁闷。
帖子永久地址:&

参考资料

 

随机推荐