php是采用二进制形式存储图片及读取显示的,首先通过代码创建数据表,然后上传图片服务器再通过浏览器显示,具体编程代码举例:
创新新互联,凭借十年的成都做网站、成都网站建设经验,本着真心·诚心服务的企业理念服务于成都中小企业设计网站有超过千家案例。做网站建设,选成都创新互联公司。
1、首先需要创建数据表,具体代码如下图所示。
2、然后写上传图片到服务器的页面 upimage.html用来将图片上传数据库,如下图所示代码。
3、处理图片上传的php upimage.php文件,如下图所示图片已储存到数据库。
4、显示图片的php getimage.php文件,为了看一下效果提前把ID写入代码。
5、预览网站从数据库中提取了图片,并显示到页面上。
?php
echo 'pimg src="centergoods.php?action=showid='.$val['id'].'t='.time().'" width="150"/p';
header('content-type:'.$b['type']);
echo $b['pic'];
................
以上代码在header发送之前有个echo输出了一串字符串.有些header信息要求先发送,之前不能有其他输出.你将header这句放在echo输出之前.
另外,在上面一段代码中,你将上传的图片数据直接保存到数据库中,然后在下面取出来直接发送给浏览器,这是什么逻辑?你发送出去的将是图片的原始数据,浏览器就是按原样显示,一堆乱码.如果你要让它知道这是一张图片,你也得使用header来标识这是图片类型的文件.当然最后是一个单独的php文件处理并输出图片格式的数据供img调用.
?php
//将图片存进数据库再读出,注意存储图片的字段类型必须为blob
$user=’root’;
$password=’root’;
$db=’test’;
$connect=mysql_connect(‘localhost’,$user,$password);
mysql_set_charset(‘utf8′,$connect);
mysql_select_db($db);
$photo = “0x”.bin2hex(file_get_contents(“./test.jpg”));
$sql=”INSERT INTO `test`.`test` (`photo`) VALUES ($photo);”;//$photo不需要用引号,切记
mysql_query($sql);
//$result=mysql_query(“SELECT *
//FROM `test`
//LIMIT 0 , 30〃);
//$img=mysql_fetch_array($result);
//echo $img['photo'];
?