http://www.samnolan.com

                                                                  【亿丰彩票app】php如何向数据库添加图片-PHP问题

                                                                  百度开发者的云代码空间为了保证高可用,不允许用户将图片保存到代码空间中,使用CDN或者对象存储不仅收费而且使用比较复杂,于是考

                                                                  虑能否将img存储在数据库中,虽然很多人说会造成性能问题,权当一试。

                                                                  1、准备三个文件

                                                                  数组图片.png

                                                                  第一个用于将图片存储为数据库字符,第二个php文件用于获取数据库字符并生成图片,第三个是文件1所使用的图片。

                                                                  2、数据库设计

                                                                  超长字符串或者二进制数据分别可以用TEXT(65535),BLOB(64k)保存,但是尝试使用二进制保存失败,便使用TEXT保存,但是一张500多kb的

                                                                  图片经[过base64加密的字符长度高度75万!

                                                                  仅仅靠一个TEXT是存不下去的,而且应该也会造成严重的性能问题,所以分割成N份保存,这里以50000字符长度为一个单位。记录

                                                                  imgid,方便拼接。

                                                                  数组图片-1.png

                                                                  3、将图片保存到数据库[dm01_imgTobase64.php]

                                                                  /*链接数据库*/// 1.转为普通字符$file = file_get_contents('test.jpg');$base64_str = base64_encode($file);$len = strlen($base64_str);$step = ceil($len/50000);for ($i=0; $i <$step ; $i++) {     $substr = substr($base64_str, $i*50000,50000);    $sql = "INSERT INTO b64_img VALUES( null,1,1,$i,'$substr') ";    $res = mysqli_query($link,$sql);}

                                                                  4、生成的数据

                                                                  数组图片-2.png

                                                                  5、读取数据库记录,生成图片[dm02_getImg.php]

                                                                  /*链接数据库*/$sql = "SELEC)T * ]FROM b64_img WHERE imgid = 1 ORDER BY bakid ASC ";$res =    mysqli_query($link,$sql);$data = array();$imgStr = '';while ($row = mysqli_fetch_assoc($res)) {    $imgStr .= $row['bstr']    ;}$binaryStr = base64_decode($imgStr);file_put_contents("ThisImg.jpg", $binaryStr);

                                                                  6、成功生成图片

                                                                  数组图片-3.png

                                                                  推荐教程:PHP视频教程

                                                                  以上就是php如何向数据库添加图片的详,细内容,更多请关注php中文网其它相关文章!

                                                                1. &#(xe63a;微信
                                                                2. 分享php中文网最新课程二维码相关标签:php 数据库 图片
                                                                3. 本文原创发布php中文网
                                                                4. 郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

                                                                  上一篇:本周开庭!苹果拟对抗欧盟140亿美元天价税单 - 苹果,欧盟,罚单
                                                                  下一篇:没有了