以前在wamp上学习php,但是现在改用apache+mysql+php的之后。。出现一些问题如,以前能编译通过,但是在后main这种环境侠,却出现未定义(undefine)错误提示一些编码正确,一部分乱码还有我写的如下程序:
global $numsg;
session_start();
for($i=0;$i<4;$i++){
  $numsg .= dechex(mt_rand(0,15));}$_SESSION['code']=$numsg;
$width=200;
$height=200;$img=imagecreatetruecolor($width,$height);
Header("Content-type: image/png");
imagepng($img);
imagedestroy($img);输出不了图片。以前好像global $numsg;也不用定义为全局的另外问下集成环境和非集成环境那个好,为什么啊?

解决方案 »

  1.   

    你为什么要定义global?
    在你的for循环之前写
    $numsg = "";
    以为你在for里面只写
    $numsg .= dechex(mt_rand(0,15));
    有连字符,在第一次循环的时候,会提示找不到这个$numsg变量的.
      

  2.   

    输出图片的问题,是完全不输出还是输出红叉?有没检查过是不是你的系统的PNG过滤器有问题不能正常显示而实际上输出的图片是正常的?如果是PNG过滤器的问题,可以重新注册试试看:C:\windows\system32>regsvr32 pngfilt.dll另外看看能不能把图片保存下来,看字节数,或者用记事本打开看看,总之看看是不输出的问题还是不显示的问题。