重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1.图片转换 将上传的图片读取到一个字符串中,再用base64对数据进行编码 $img =base64_encode(file_get_contents($_FILES['file_head']['tmp...
创新互联建站坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站设计、网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的建德网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
2.显示图片 imgsrc="{$base64String}" 这样就能把图片显示出来了
保存图片到数据库做什么?保存到本地使用起来也方便,真要保存通过base64字符串保存。
?php
header('Content-type:text/html;charset=utf-8');
//读取图片文件,转换成base64编码格式
$image_file = './image123.jpg';
$image_info = getimagesize($image_file);
$base64_image_content = "data:{$image_info['mime']};base64," . chunk_split(base64_encode(file_get_contents($image_file)));
// $base64_image_content 输入到数据库
//保存base64字符串为图片
//匹配出图片的格式
if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image_content, $result)){
$type = $result[2];
$new_file = "./test.{$type}";
if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_image_content)))){
echo '新文件保存成功:', $new_file;
}
}
?
img src="?php echo $base64_image_content;?" /
存储的是相对路径,可以到网站服务器上查看,应该有upload文件夹,里面就是存储的图片,这样写的好处是节省了数据库存储空间,转移的时候可以直接将整个服务器的图片打包转移。
访问的时候,前面可以拼接域名和指定的路径,这些后台可以轻松获取到,然后拼接上服务器的路径,我们就可以直接在网页上访问到图片了。
这是很常见的图片数据库保存方式,和直接把图片的二进制存入数据库,这样的方式便于检索,占用空间小。当然,目前主流都采用oss来单独存储文件了,就是有专门的文件服务器,这个时候,一般存储的是完整的图片路径。