一个将Email图片化的程序, 系统不时地记录如下错误:
[06-Mar-2010 14:17:58] PHP Warning:  imagecreate() [<a href='function.imagecreate'>function.imagecreate</a>]: Invalid image dimensions in /home/gouknet1/public_html/DoInfo/digitz.php on line 24
[06-Mar-2010 14:17:58] PHP Warning:  imagecolorallocate(): supplied argument is not a valid Image resource in /home/gouknet1/public_html/DoInfo/digitz.php on line 26
[06-Mar-2010 14:17:58] PHP Warning:  imagecolorallocate(): supplied argument is not a valid Image resource in /home/gouknet1/public_html/DoInfo/digitz.php on line 27
[06-Mar-2010 14:17:58] PHP Warning:  imagefill(): supplied argument is not a valid Image resource in /home/gouknet1/public_html/DoInfo/digitz.php on line 28
[06-Mar-2010 14:17:58] PHP Warning:  imagestring(): supplied argument is not a valid Image resource in /home/gouknet1/public_html/DoInfo/digitz.php on line 29
[06-Mar-2010 14:17:58] PHP Warning:  imagejpeg(): supplied argument is not a valid Image resource in /home/gouknet1/public_html/DoInfo/digitz.php on line 30
[06-Mar-2010 14:17:58] PHP Warning:  imagedestroy(): supplied argument is not a valid Image resource in /home/gouknet1/public_html/DoInfo/digitz.php on line 31digitiz.php代码如下:<?php
@require("../class/connect.php");
if(!defined('InEmpireCMS'))
{
exit();
}
include("../class/db_sql.php");
include("../class/config.php");
include("../class/userfun.php");
//显示号码为图片
function ShowData()
{
$key=$_GET['key'];//对应字段属性
$data=$_GET['data'];//对应要解密的数据
$data=urldecode(jiajiemi($data,'DECODE',''));//进行解密
$strlen=strlen($data);
$data=strtolower($data);
$imgW=$strlen*10; //支持gd库
if (function_exists("imagejpeg")) {
   header ("Content-type: image/jpeg");
   $img=imagecreate($imgW,24);   $black=imagecolorallocate($img,80,80,80);
   $gray=imagecolorallocate($img,255,255,255);
   imagefill($img,0,0,$gray);
   imagestring($img,5,5,3,$data,$black);
   imagejpeg($img);
   imagedestroy($img);
}
elseif (function_exists("imagegif")) {
   header ("Content-type: image/gif");
   $img=imagecreate(140,24);   $black=imagecolorallocate($img,80,80,80);
   $gray=imagecolorallocate($img,255,255,255);
   imagefill($img,0,0,$gray);
   imagestring($img,5,5,3,$data,$black);
   imagegif($img);
   imagedestroy($img);
}
elseif (function_exists("imagepng")) {
   header ("Content-type: image/png");
   $img=imagecreate($imgW,24);   $black=imagecolorallocate($img,80,80,80);
   $gray=imagecolorallocate($img,255,255,255);
   imagefill($img,0,0,$gray);
   imagestring($img,5,5,3,$data,$black);
   imagepng($img);
   imagedestroy($img);
}
elseif (function_exists("imagewbmp")) {
header ("Content-type: image/vnd.wap.wbmp");
   $img=imagecreate($imgW,24);   $black=imagecolorallocate($img,80,80,80);
   $gray=imagecolorallocate($img,255,255,255);
   imagefill($img,0,0,$gray);
   imagestring($img,5,5,3,$data,$black);
   imagewbmp($img);
   imagedestroy($img);
}
else {
include("../class/functions.php");
echo ReadFiletext("../data/images/ecms.jpg");
}
}
ShowData();
?>
函数jiajiemi:
function jiajiemi($string, $operation, $key = ''){  
         $key = md5($key ? $key : "34577");  //34577为密钥      
     $key_length = strlen($key);   
     $string = $operation == 'DECODE' ? base64_decode($string) : substr(md5($string.$key), 0, 8).$string;      
     $string_length = strlen($string);   
     $rndkey = $box = array();     
     $result = '';   
      for($i = 0; $i <= 255; $i++) {   
             $rndkey[$i] = ord($key[$i % $key_length]);   
             $box[$i] = $i;   
      }   
      for($j = $i = 0; $i < 256; $i++) {   
             $j = ($j + $box[$i] + $rndkey[$i]) % 256;   
             $tmp = $box[$i];   
             $box[$i] = $box[$j];   
             $box[$j] = $tmp;   
      }   
      for($a = $j = $i = 0; $i < $string_length; $i++) {   
             $a = ($a + 1) % 256;   
             $j = ($j + $box[$a]) % 256;   
             $tmp = $box[$a];   
             $box[$a] = $box[$j];   
             $box[$j] = $tmp;   
             $result .= chr(ord($string[$i]) ^ ($box[($box[$a] + $box[$j]) % 256]));   
      }   
      if($operation == 'DECODE') {   
              if(substr($result, 0, 8) == substr(md5(substr($result, 8).$key), 0, 8)) {   
                  return substr($result, 8);   
              } else {   
                  return '';   
              }   
      } else {   
              return str_replace('=', '', base64_encode($result));   
      }  

调用使用:urlencode(jiajiemi(Email字段,'ENCODE',''))不知道为什么会提示上面的Php warning呢?