showimg.php
------------------------
<?
  require("conn.php");
  $query = "select * from pro where id='$_REQUEST[id]'";
  $result = mysql_query($query);
  $row = mysql_fetch_array($result);
  switch ($_REQUEST[imgnum]) {
   case 1:
$data = base64_decode($row[pm_img]);
    break;
   case 2:
$data = base64_decode($row[effect_img1]);
    break;
   case 3:
$data = base64_decode($row[effect_img2]);
    break;
   case 4:
$data = base64_decode($row[kt_img]);
    break;
   case 5:
$data = base64_decode($row[ct_img]);
    break;
   case 6:
$data = base64_decode($row[zw_img]);
    break;
   case 7:
$data = base64_decode($row[wc_img]);
    break;
   case 8:
$data = base64_decode($row[cf_img]);
    break;
  }
  // 显示图片
  header("Content-type: image/gif");
  echo $data;
?>

解决方案 »

  1.   

    这个是入库的:
    ------------------
      $pm_img_exp=substr($_FILES['pm_img']['name'],strrpos($_FILES['pm_img']['name'],".")+1,3);
      
      if($pm_img_exp!=""){
        if($pm_img_exp=="jpg")
          $pm_img_exp="jpeg";
        if($pm_img_exp=="gif")
          $pm_img_exp="gif";
        $fp = fopen($_FILES['pm_img']['tmp_name'], "r");
        $pm_img = fread($fp, $_FILES['pm_img']['size']);
        $pm_img = base64_encode($pm_img);
        fclose($fp);
      }
        // 存入数据库
      $query = "insert into pro (pm_img) values ('$pm_img')";
      $result = mysql_query($query);
      

  2.   

    $fp = fopen($_FILES['pm_img']['tmp_name'], "rb");这样就好了
      

  3.   

    $fp = fopen($_FILES['pm_img']['tmp_name'], "rb");这样就好了--------------------------这个试过,还是这样。
      

  4.   

    只看到一个叉
    程序没看到有错,贴一个小点的base64_encode($pm_img);结果好吗?
      

  5.   

    把存储图片内容的字段类型改作
    longtext或者longtext即可。
      

  6.   

    $fp = fopen($_FILES['pm_img']['tmp_name'], "rb");
    ?
    fread($fp,9999999999999999999999999)
      

  7.   

    $pm_img = fread($fp, $_FILES['pm_img']['size']);问题所在.不要用这个大小.应该是用filesize来读取文件大小.
    问题解决.
      

  8.   

    $_FILES['pm_img']['size']
    这个数据不准确,偏少,应该改用 filesize() 取得文件的大小.