dz自定义修改头像,数据库处理

DZ这套代码默认头像都是能过UID进行一定的算法,处理建目录,而且是在uc_server的data/avatar下建立,为每一个uid用户创建自己的头像,三套尺寸。

对于我这种不喜欢在代码目录里尤其生成图片文件的人来说,太难受了。

图片整到单独的自己的图片服务目录里多好。而且数据库里不会存放头像的url,虽说我们可以通过域名调用php文件加一些参数的形式拿到头像图片,但是味道早就扭曲了。

对比下:(请求方式我没动还是http://dreamisland.wang/uc_server/avatar.php?uid=1&size=middle这种)

实际对应的头像地址原来是

http://dreamisland.wang/uc_server/data/avatar/000/00/00/01_avatar_middle.jpg

修改后:

http://img.domystery.com/Mys/M00/07/BB/cxwu3l1NQlSAX53qAAArtRQdHOQ217.jpg

明显的区别,原先的在代码目录内,像自己代码有svn,git管理的,最烦的就是代码不纯净,一片资源文件占着代码空间,更新一下一大堆图片是什么鬼。。

这样的话,自己把图片放到自己的图片服务里,舒服。


需要修改的文件:

uc_server\control\user.php(上传处理)

uc_server\avatar.php(读取头像)

uc_server\model\user.php(数据层)

uc_server\index.php(不用改,是重点文件,可以参考)

修改的文件不多,不过也研究调试了半天。


数据库修改表,我们把头像存到一个表里,以后不用uid读目录文件

image.png

增加一个avatar字段,用来存放头像地址


DZ修改头像的路径,右上角头像-设置-修改头像(完事如下图)

image.png


这块有个选择图片,我们选完之后调整图片框,点确认就会进行图片上传处理,通过表面上一个Index.php进行m,a两个参数,引导到user.php来处理上传图片。

原本的处理是创建目录,写文件其实就这么回事

image.png

修改:

image.png

这里我前提是有自己的图片处理类,fastdfs专门解决我图片的上传问题。自己可以在lib里写一个自己的图片处理,随意翱翔。

操作方式也挺简单,把上传的头像生成一个临时图片文件,然后上传,再之后删除本地文件。

因为这块不涉及file文件块,就写文件吧,省事。再之后就是更新数据库。根据uid,把url放进去。

image.png

还有修改头像数据,获取头像数据的方法,之后都通过这个文件来调用。这两处理都简单。中间函数。


数据层处理:(可以参考edit_user挺简单的,写个sql的事)

image.png


这样下来,图片就从上传到入库都完事了。然后是读取。

顺着行数,把这些改上去:

image.png

这里调一个自己的读头像处理函数:

image.png

这块处理参考index.php调用user.php里的处理函数,数据层调用,这样就齐活了。


转载请注明来源:梦幻岛 dreamisland.wang


关于我 |  合作伙伴 |  用户注册 |  帮助中心 |  版权声明