// 在MYSQL中存储图片
// 如需转载,请注明原作者:phpteam
// 数据库结构:
// create table test (
// id int(11) not null default '0' auto_increment,
// filename varchar(50) not null,
// picture blob,
// primary key(id)
// )
$filename = "test.jpg";
// 读取文件,并用BASE64编码,注意WIN下需加“b”
$fp = fopen($filename, "rb");
$picture = fread($fp, filesize($filename));
$picture = base64_encode($picture);
fclose($fp);$conn = mysql_connect("localhost", "root", "");
@mysql_select_db("test", $conn);
// 存入数据库
$query = "insert into pic (filename,picture) values ('$filename','$picture')";
$result = mysql_query($query);
$id = mysql_insert_id();
$query = "select * from pic where id='$id'";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
$data = base64_decode($row[picture]);
// 显示图片
header("Content-type: image/jpeg");
echo $data;

解决方案 »

  1.   

    // 在MYSQL中存储图片
    // 如需转载,请注明原作者:phpteam
    // 数据库结构:
    // create table test (
    // id int(11) not null default '0' auto_increment,
    // filename varchar(50) not null,
    // picture blob,
    // primary key(id)
    // )
    $filename = "test.jpg";
    // 读取文件,并用BASE64编码,注意WIN下需加“b”
    $fp = fopen($filename, "rb");
    $picture = fread($fp, filesize($filename));
    $picture = base64_encode($picture);
    fclose($fp);$conn = mysql_connect("localhost", "root", "");
    @mysql_select_db("test", $conn);
    // 存入数据库
    $query = "insert into pic (filename,picture) values ('$filename','$picture')";
    $result = mysql_query($query);
    $id = mysql_insert_id();
    $query = "select * from pic where id='$id'";
    $result = mysql_query($query);
    $row = mysql_fetch_array($result);
    $data = base64_decode($row[picture]);
    // 显示图片
    header("Content-type: image/jpeg");
    echo $data;
      

  2.   

    方法1:
    /*_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-    
        图片文件的存取.
       _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-*/
    <?php
    //$contents就是从数据库读出的字符串//-----------读取
    $filename = "F:/mm/M23406.jpg";
    $fd = fopen ($filename, "r");
    $contents = fread ($fd, filesize ($filename));
    fclose ($fd);
    //将$contents存入数据库中即可
    //----------输出
    //从数据库读出数据赋给$contents
    $filename = "aaa1.jpg";
    $fd = fopen ($filename, "w");
    fwrite($fd,$contents);
    fclose ($fd);?>-----------------------------------------------------------------------
    方法2:
    // 读取文件内容 
    $filename = "test.jpg";
    $fp = fopen($filename,"rb"); // 若为WIN系统,则必须加上“b”
    while(!feof($fp))
    {
      $picture.=fread($fp,1024);
    }
    $picture = base64_encode($picture);
    fclose($fp);// 插入到MYSQL数据库
    $conn=mysql_connect("localhost","root","");
    @mysql_select_db("test",$conn);
    $query="insert into pic (filename,picture) values ('$filename','$picture')";
    $result=mysql_query($query);
    $id=mysql_insert_id();
    // 从MYSQL取数据
    $query="select * from pic where id='$id'";
    $result=mysql_query($query);
    $row=mysql_fetch_array($result);
    $data = base64_decode($row[picture]);
    // 显示图片
    header("Content-type: image/jpeg");
    echo $data;
    ---------------------------------------------------------------------------
    方法3:
    //PHP代码
    if($create) {
    //生成文件
    $connect=@mysql_connect('localhost','用户名','密码');
    $dbname='数据库名';
    $select=mysql_select_db($dbname,$connect);
        $query="select image from imagetable";  
        $result=mysql_query($query);
    $all=0;
       while($row=mysql_fetch_object($result))
    {     $all=$all+1;
         echo $row->image;
      }
    echo "<div>";
    echo $all;
    echo "</div>";
      }if($file!="") {    
    //存储图片数据
    //读入上传的图片数据
    $connect=@mysql_connect('localhost','用户名','密码');
    $dbname='数据库名';
    $select=mysql_select_db($dbname,$connect);
    $imagecontent=addslashes(fread(fopen($file,"r"),filesize($file)));
    $query="insert into imagetable(id,image,filename,filetype) values ('','$imagecontent','$file_name','$file_type')";
        if($file!="none" and $file!="") {
    mysql_query($query);
    }
        
    }
    ?>
    <form name="form1" method="post" action="" enctype="multipart/form-data">
      <input type="file" name="file"><INPUT TYPE="hidden" name=create value=1>
      <input type="submit" name="confirm" value="Submit">
    </form>
    <?php
    $timer->stop();
    //print $timer->getRunTime();
    ?>