本人创建了个表images来存储档案照片,字段分为id,code,image三个部分。MySQL里的code用的是varchar,gb2312编码,image用的是longblob,二进制
下面是读取数据库的php代码 文件名是 image_create.php3
PHP code
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的。
PHP code
echo "$col {$row["$i"]} ";
测试的时候,图片是个叉,如果删掉header("Content-type: image/jpeg");
这句就是乱码。用mysql_error()也没显示什么错误。我获取那个显示叉号的图片地址,发现code值也正确。
图片我是先通过phpmyadmin手动输入到数据库的。期间没提示什么warning。
大家帮我看看到底是怎么回事吧
************************************************************
论坛里 Mistruster 大哥 给我的解决方案。
<?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->photo); //Base64解码
header("Content-type: image/gif");
echo $data;
?>
[@more@]
下面是读取数据库的php代码 文件名是 image_create.php3
PHP code
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的。
PHP code
echo "$col {$row["$i"]} ";
测试的时候,图片是个叉,如果删掉header("Content-type: image/jpeg");
这句就是乱码。用mysql_error()也没显示什么错误。我获取那个显示叉号的图片地址,发现code值也正确。
图片我是先通过phpmyadmin手动输入到数据库的。期间没提示什么warning。
大家帮我看看到底是怎么回事吧
************************************************************
论坛里 Mistruster 大哥 给我的解决方案。
<?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->photo); //Base64解码
header("Content-type: image/gif");
echo $data;
?>
[@more@]
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/93029/viewspace-1017547/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/93029/viewspace-1017547/