Images in PHP

本人创建了个表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"]} image_create.php3?code=%22.%24code.%22";




测试的时候,图片是个叉,如果删掉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/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值