表images来存储档案照片,字段分为id,code,image三个部分。MySQL里的code用的是varchar,gb2312编码,image用的是longblob,下面是读取数据库的php代码 文件名是 image_create.php3
include("session.php");//连接数据库
mysql_query("SET NAMES 'GB2312'");
$code = $_GET["code"]; //获得显示页面的code值
$sql = "SELECT * FROM images WHERE code='".$code."'";
$result_2=mysql_query($sql);
$row_image=mysql_fetch_object($result_2);
header("Content-type: image/jpeg");
echo $row_image->image;
php页面中的一部分,编码是gb2312的:
echo "<th class='maxwidth'>$col</th>
<td>{$row["$i"]}</td>
<td rowspan='5' class='image'><img src='image_create.php3?code=".$code."' /></td>";
请参考以下代码解决问题:
<?php
mysql_connect('localhost',"root","");
mysql_select_db("image");
$photo="./test.jpg";
//存入
$picdata = file_get_contents($photo);
$picdata = base64_encode($picdata); //在存入数据库前先进行Base64编码
$sql = "insert into pic(id,picdata) values('1','$picdata')";
mysql_query($sql);
?>
<?php
//显示
$sql = "select * from pic where id=1";
$result = mysql_query($sql);
$obj = mysql_fetch_object($result);
$data = base64_decode($obj->picdata); //Base64解码
header("Content-type: image/gif");
echo $data;
?>
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。