效果图:
前情提要:在做项目的时候,我们可能需要做一个类似于上图一样的上传多个图片的功能,我们可以选择在数据库多加几个字段,但是今天up分享的方法是用序列化的思维来上传保存到数据库的一个名为img的字段里面,下次需要用到或者需要展示出来就只需要将img字段的进行反序列化就好。
1.首先拿到前端传过来的一堆狗屎(doge)
这里的狗屎可以是一堆数组或者字符串,up这里的狗屎就是一堆字符串
需要将这一堆狗屎转为数组,用到了json_decode函数
//这里的html_data就是传来的一堆狗屎字符串
$data = json_decode($_POST['html_data'],true);
然后我们打印$data
可以发现那一堆狗屎已经变成了数组了,他已经不再是狗屎了XDDD,接下来我们忽略掉其他字段,就只看传来的img字段
2.将img字段(数组格式)转为json格式存入数据库
$new_img = json_encode($data['img']);
现在这个$new_img已经变成了一个字符串了
我们将他拿到网站上解析一下看看是不是正常的(解析网站:json.cn)
看起来是正常的,接下来,我们只需要将他存入数据库即可
总结:你可能会想,我为什么要这么做呢?我干脆多建几个字段不就行了,还不用解析,但是!你有没有想过,客户万一说需求要变呢?假如删掉几个新添图片,多加几个新添图片,那是不是只有再去数据库新添字段?这种方法如果需求发生改变,就仅仅需要更改前端的页面样式,多加几个框框就好。以上!