减轻数据库、服务器空间资源占用--将图片、文章内容保存到阿里云OSS中

新闻、媒体等内容性网站,发布的文字内容比较多,如果直接存储到数据库中,对数据库的占用会非常大,同样的网站的图片资源也是非常多的,占用大量的服务器空间资源。所以考虑将内容保存到其他地方,将保存的地址保存到数据库的文章字段中。从而减少对数据库的占用,将图片保存在云盘中,从晕盘中进行引用,从而节省服务器硬盘空间。

新闻、媒体等内容性网站,发布的文字内容比较多,如果直接存储到数据库中,对数据库的占用会非常大,同样的网站的图片资源也是非常多的,占用大量的服务器空间资源。所以考虑将内容保存到其他地方,将保存的地址保存到数据库的文章字段中。从而减少对数据库的占用,将图片保存在云盘中,从晕盘中进行引用,从而节省服务器硬盘空间。

本文主要的主要思想就是将占用服务器资源的图片和占用数据库资源的文章内容,从服务器中分离,将其保存到阿里云OSS中,然后将阿里云中的保存地址返回,并保存到数据库中,使用的时候,直接根据阿里云的路径将图片及数据取出。

实现过程如下图:    

自学php博客

实现步骤:

1、获取阿里云OSS的Access Key ID和Access Key Secret。(阿里云OSS 40G云盘 一年的价格是9元,性价比还是非常高的)。

登录阿里云用户管理系统:https://ak-console.aliyun.com/#/accesskey,在如下界面获取appkey和appsecret参数。

自学php博客

2、创建bucket,并设置属性为公共读写权限。并获取到该bucket的OSS外网域名,如下图:

自学php博客

3、下载阿里云OSS的SDK文件包,下载地址:www.zixuephp.cn/xxxxxx。将SDK文件包Alioss文件夹配置到ThinkPHP的/ThinkPHP/Extend/Vendor/文件夹中。

4、将获取到的阿里云OSS参数Access Key ID和Access Key Secret配置到项目的config.php文件中。配置的参数如下:

自学php博客

5、在common文件夹下的公用函数文件common.php中定义阿里云操作函数:包括实例化oss对象函数、图片上传阿里云函数、删除阿里云中对象的函数、获取阿里云中对象路径的函数、对象上传阿里云函数。如图为实例化阿里云OSS方法:

自学php博客

6、从后台添加内容页面提交数据之后,Action的处理方法及保存到数据库如下:

自学php博客

7、在前台页面中,从数据库中取出内容的阿里云保存路径,解析路径对应的内容并在前台进行显示方法如下:

自学php博客


如此即可实现将将图片、文章内容保存到阿里云OSS中,减轻数据库、服务器空间资源占用。


本案例的完整源代码下载:

链接:http://pan.baidu.com/s/1ge93k2n 密码:i39r