php 将图片以二进制存入mysql数据库
有部分图片要存入mysql数据库,改怎么做啊?
<?php
$DBserver = "localhost";
$DBname = "new";
$DBuser = "root";
$DBpassword = "";
$con = mysql_connect("localhost","root","");
...
?>
[解决办法]
<?/* * 把图片存入mysql数据库 * # # 数据表的结构 `images` #CREATE TABLE images ( picid int(3) NOT NULL auto_increment, picdata longblob NOT NULL, pictext varchar(100) NOT NULL default '', PRIMARY KEY (picid)) TYPE=MyISAM; */if(trim($picfile[0])!=""){ $link=@mysql_connect("localhost","root","root"); //连接,用你的具体连接名替换root,具体连接密码替换root if($link==false) { echo "<script>alert('连接数据库时发生错误,请稍后再试!')</script>"; } $res=mysql_select_db("kkk"); if($res==false) { echo "<script>alert('打开数据库时发生错误,请稍后再试!')</script>"; } $tmpset=0; // 存放成功加入的图片数目 for($i=0;$i<=3;$i++) { // picfile[i]存放所提交的图片信息(文件路径) if(trim($picfile[$i])!="") { //读取数据 $fp=fopen($picfile[$i],"r"); $picdata=fread($fp,filesize($picfile[$i])); fclose($fp); //加上必要的标志符号 $picdata=addslashes($picdata); //用具体的数据表名代替images //pictext[i]存放所提交的图片的文字说明 $qu="insert into images(picdata,pictext) values('$picdata','$pictext[$i]')"; $res=@mysql_query($qu,$link); if($res==false) { echo "<script>alert('图片 ".$i." 提交失败!')</script>"; continue; } $tmpset=$tmpset+1; } } echo "<script>alert('操作成功!实际入库图片数 ".$tmpset." 张')</script>";}?><html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>无标题文档</title></head><body><form action="<? echo $PHP_SELF; ?>" method="post" enctype="multipart/form-data" name="form1"> <input type="file" name="picfile[]"> 文件说明 <input type="text" name="pictext[]"> <br> <input type="file" name="picfile[]"> 文件说明<input type="text" name="pictext[]"> <br> <input type="file" name="picfile[]"> 文件说明<input type="text" name="pictext[]"> <br> <input type="file" name="picfile[]"> 文件说明<input type="text" name="pictext[]"> <br> <input type="submit" name="Submit" value="提交"></form></body></html>显示存在mysql中的图片<? /* * 显示存在mysql中的图片 * 在外部用<img src="displayimg.php?picid=1">来调用数据库中的第一张图片 # # 数据表的结构 `images` #CREATE TABLE images ( picid int(3) NOT NULL auto_increment, picdata longblob NOT NULL, pictext varchar(100) NOT NULL default '', PRIMARY KEY (picid)) TYPE=MyISAM; */$link=@mysql_connect("localhost","root","root"); mysql_select_db("kkk");$qu="select picid,picdata from images where picid=$picid"; $res=@mysql_query($qu,$link); $num=mysql_num_rows($res); if($num==0) { print "<br><br><br>"; print "<p><b>没有这张图片!</b></p>"; exit(); }$row=@mysql_fetch_row($res); header("Content-type:image/");echo $row[1];?>