注册 登录
编程论坛 PHP技术论坛

求高手指点:用php实现图片上传到mysql数据库,并在web中显示上传到数据库的图片?

hoei5699 发布于 2012-04-24 08:12, 1134 次点击
本人想在web页面做一个实现上传图片到mysql数据库中,并以二进制保存存在blob类型中的功能,和在web面显示的功能?用这样的代码:
上传页面addPic.php

 <?php
 mysql_connect("dbhost","dbuser","dbpw") or die("连接错误:".mysql_error());
 mysql_select_db("dbname") or die("选择数据错误:".mysql_error());

 if($_POST['Image']!=""){
     $image=$_POST[Image];
     $Image=fopen($Image,"r");
     $sql="insert into images (id,Image) values ('','$Image')";
     mysql_query($sql);
     echo "图片添加成功……";

 }else{
     echo "失败……";
 }
?>

<script language="javascript">
function pic_chk(){
    if(this.myform.Image.value == ""){
        alert("请上传图片");
        this.myform.file.focus();
        return false;
    }
}
</script>

  <table border=1>

  <form name="myform" action="" method="post" enctype="multipart/form-data">

    <tr>
       <td>
       <div>添加图片</div>
       <div>
       <input type="file" name="Image" >
       <input name="submit" type="submit" value="提交" onClick="return pic_chk();">  &nbsp;
       <input name="reset" type="reset" value="重写"></td>
       </div>
      </td>
    </tr>

  </form>
  </table>
上传的结果是数据库里没有东西,望大家帮我看看是怎么回事?先谢谢啊?
2 回复
#2
caipeijie2012-04-26 17:34
图片另外保存,
数据库保存相对路径.
#3
lovellshn2012-05-04 11:41
$Image = addslashes(fread(fopen($Image,"r"), filesize($Image)));
1