如何使用php保存图片?
问题描述:
<?php
$size = filesize('H:/blog_banner.jpg');
$fp = fopen('H:/blog_banner.jpg','rb');
$binary_pic = fread($fp,$size);
$link = mysqli_connect('127.0.0.1','root','123456') or die('connect failed!');
$binary_pic = base64_encode($binary_pic);
mysqli_select_db($link, 'rqPro');
mysqli_query($link,"insert into tb_pic values('',$binary_pic)") or die('cant perform pic');
结果是:如何使用php保存图片?
不能执行PIC。
mysql保存字段中的图片是:中等blob。
我该如何解决这个问题?
答
您的插入查询是错误的。您不指定将保存哪个表的字段。 应该.. INSERT INTO tb_pic(field1
,field2
)VALUES( '',$ binary_pic)
而且我的意见,这不是保存在数据库中的图片的好方法。这很重。最好将它保存在你的服务器/目录中。 尽量显得http://php.net/manual/en/function.move-uploaded-file.php
答
你必须引用图像串:
values('','$binary_pic')
另外,确保图像足够小,以适应中等BLOB中。否则,它将被修剪,并且您将无法正确提取它
注意:如果该表有多于两列,则需要指定插入的数据所针对的列。
使用file_get_contents('tourpic.jpg')来检索图像,如果需要像你想做base64编码并保存到你的mysql字段。但更好的做法通常是将数据库引用保存到文件系统中,这将减少数据库导出大小和数据库负载 –