代码如下<?php
//header("Content-type:image/jpeg");
if($_GET)
{
$user = $_GET["user"];
$pass = $_GET["pass"];
$do = mysql_connect("localhost","root","199324");
if($do)
{
         mysql_query("SET NAMES GB2312");
 mysql_select_db("test");
 $sql = "SELECT ID FROM user1_data WHERE 姓名='$user' and 密码='$pass' ";
 $result = mysql_query($sql);
 $num = mysql_num_rows($result);
 if($num>0)
{
 if(isset($_SESSION["admin"]))
{
 echo "用户已登录!";
 }else

 session_start();
 $_SESSION["admin"] = true;
           if(isset($_SESSION["admin"]) && $_SESSION["admin"]===true)
{
 echo "<script language='javascript'>
 alert('你好!$user');
 </script>";
 $sql1 = "SELECT * FROM user1_data WHERE 姓名='$user' and 密码='$pass' ";
 $result = mysql_query($sql1);
 $row= mysql_fetch_array($result);
 $signature = $row[个性签名];
 $ID = $row[ID];
 $path = $row[图片路径];
 //echo "图片路径为:".$path."<p>";
            // echo "<img src='$path'>";
function resizeimage($srcpath)   //制作图片缩略图
{
                //  header("Content-type:image/png");        $a = getimagesize($srcpath);
      switch($a[2])
     {
     case 1:
    $im = imagecreatefromgif($srcpath);
      break;
     case 2:
        $im = imagecreatefromjpeg($srcpath);
       break;
    case 3:
                         $im = imagecreatefrompng($srcpath);
                       break;
   }
   $srcw = imagesx($im);
   $srch = imagesy($im);
   $img = imagecreatetruecolor(100,100);
   $black = imagecolorallocate($img,255,255,255);
   imagefilledrectangle($im,0,0,100,100,$black);
   imagecopyresized($img,$im,0,0,0,0,100,100,$srcw,$srch);
   imagejpeg($img);
   imagedestroy($img);
   imagedestroy($im);
}
         resizeimage($path);
 echo "<p>".$ID."<P>";
// echo "<img src='$path'>";
 echo " $user<p>";
 echo "<p>$signature<a href ='updatesign.php?id=$ID'>修改签名</a>";
 echo "<p><a href='updatepass.php?id=$ID'>修改密码</a>";
             echo  "<p><a href='logout.php'>退出登录</a>"; }
}
 
 }else
{
  echo "密码或用户名不正确!请重新输入!";
  echo "<meta http-equiv='refresh' content='2; url=login1.html'>";
 }
}else
{
echo "连接数据库失败!";
}
}else
{
echo "没有用户信息提交!";
}
?>
单独测试函数部分没有错误 可是 在这个程序中 输出的图像总是乱码 是怎么回事呢

解决方案 »

  1.   

    图片是字节流,网页是字符流,这两者不能相容。
    在你的代码中,注释掉了 header("Content-type:image/jpeg");
    因此缺省值将是 text/html。这会声明响应内容为字符流,而图片的字节流将不能被正确转换说到底,最方便的办法是把图片流写入到文件系统(比如在网站根目录下专设一个存储图片的文件夹)
    imagejpeg($img, "{$_SERVER['DOCUMENT_ROOT']}/image/{$img_name}");
    然后输出HTML代码 <img src="/image/<?php echo "/image/{$img_name}"; ?> />