我只是想试试这种方法。
可是我fread后。添加纪录时出错

解决方案 »

  1.   

    $NameArray = explode(".",$Pic_name);
    $ExtendName = strtolower($NameArray[1]);$WHArray = getimagesize($Pic);
    $RatioWH = $WHArray[1]/$WHArray[0];@copy($Pic, "./images/$Pic_name");
    $Pic_blob = fread(fopen("./images/$Pic_name","r"),filesize("./images/$Pic_name"));
    @unlink( "./images/$Pic_name");$CreateTime = date("Y-m-d");
    $query = "INSERT INTO ".PIC_TABLE." SET PicName = '$PicName' ,ExtendName = '$ExtendName' ,Pic = '$Pic_blob', RatioWH = '$RatioWH' ,CreateTime = '$CreateTime' ,UpUser = '$UpUser' ";
    @mysql_query($query,$DB_CONN);
      

  2.   

    你的sql有问题吧。字段是不是blob或者long blob
      

  3.   

    我写的一个简单的上传图片到数据库的程序
    1,设计表 
        id int not null auto_increment primary key
        img blob
    2,上传表单 i.php
     ------------------------------
    <form action="a.php" method="post" enctype="multipart/form-data">
    <input type="file" name="file"><P>
    <input type="submit" value="上传图片到数据库">
    </form>3,接收程序 a.php
    --------------------------
    <?php
    $file=$_FILES["file"];
    if(empty($file)){
      echo"上传失败了";
      exit;
    }$tmpfile=$file["tmp_name"];$data=addslashes(fread(fopen($tmpfile,"rb"),$file["size"]));mysql_connect("localhost","root","");
    mysql_select_db("article");$res=@mysql_query("insert into photo (img) values ('$data')");if($res){
        echo"成功啦";
    }
    else{
        echo"失败啦";
    }?>4,从数据库中读出图片来。根据id,比如 b.php?id=2
    ---------------------------
    <?php
    mysql_connect("localhost","root","");
    mysql_select_db("article");// 得到id
    if(isset($_GET["id"])){
       $id=$_GET["id"];
    }else{
       $id="1";
    }$res=mysql_query("select * from photo where id='$id'");
    $arr=mysql_fetch_array($res);
    header("content-type:image/png");echo $arr["img"];
    ?>
      

  4.   

    ccterran(iwind)写的好,简单明了