ITPub博客

首页 > 应用开发 > IT综合 > Images in PHP

Images in PHP

原创 IT综合 作者:terryisme 时间:2009-02-18 16:50:15 0 删除 编辑
本人创建了个表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 大哥 给我的解决方案。
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);
?>
//显示
$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博客 ” ,链接:https://blog.itpub.net/93029/viewspace-1017547/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: Curriculum Vitae
请登录后发表评论 登录
全部评论

注册时间:2009-02-23

  • 博文量
    142
  • 访问量
    632457