个性化图片分享网站的设计与实现毕业论文

 2020-04-04 10:04

摘 要

随着互联网技术的发展,浏览网站已经成为人们获取信息的一个重要方式,分享信息是互联网的一个重要功能,各种各样的网站也层出不穷,使得人们获取信息更加方便快捷,人们越来越离不开互联网。

互联网使得人们可以更方便的获取图片资源,国内外图片分享网站也很多,但目前国内的图片网站如堆糖网、花瓣网等。都是基于用户兴趣的图片社交网站。很少有纯粹的图片网站。本次课题的主要内容就是建立一个用户提供资源,网站审核发布的图片分享网站。

本系统采用了PHP,Mysql,BootStrap等技术去搭建一个图片分享网站。用BootStrap框架去编写简单前端页面,主要包括网站主页、用户页面、管理员页面,所有界面都包括导航栏和内容显示区。本地服务器采用Apache,后台数据库采用Mysql。使用可视化工具navicat来进行实际的数据库管理。使用国内流行的ThinkPHP 5框架进行后台开发。ThinkPHP 5框架采用MVC开发模式,实现了逻辑、数据、界面三者的分离。前端采用http请求或者URL的方式发送请求给后台,后台对应控制器接收请求,查询数据库并进行逻辑操作,接着给指定模板赋值,最后渲染模板输出,在浏览器上显示结果。整个系统实现了用户的登录注册功能,实现了图片的查看功能,包括查看最新图片、最热图片、分类查看图片、按关键字搜索图片功能。实现了图片的上传、下载、收藏功能以及修改图片信息的功能。实现了用户查看自己已上传、下载、收藏的图片,修改密码,修改注册邮箱的功能。实现了管理员审核图片,删除图片,查看所有用户信息,删除指定用户信息的功能。实现了图片的权限管理功能。

关键字: PHP;ThinkPHP;BootStrap;Mysql;图片分享

Abstract

With the development of Internet technology, browsing websites has become an important way for people to obtain information. Sharing information is an important function of the Internet. Various kinds of websites are also emerging in an endless stream, making people more convenient and quick to obtain information. No internet.

The Internet has made it easier for people to obtain picture resources. There are also many domestic and international photo sharing websites, but at present domestic picture sites such as sugarcane nets, petal nets and so on. Are based on user interest in the picture of social networking sites. There are few pure picture sites. The main content of this project is to establish a user-provided resource. The website reviews and publishes the photo-sharing website.

The system uses PHP, Mysql, BootStrap and other technologies to build a photo sharing site. Use the BootStrap framework to write simple front-end pages, including website homepages, user pages, and administrator pages. All interfaces include navigation bars and content display areas. The local server uses Apache and the back-end database uses Mysql. Use the visualization tool navicat for actual database management. Use the popular ThinkPHP 5 framework for background development. The ThinkPHP 5 framework adopts the MVC development model and realizes the separation of logic, data, and interface. The front end uses HTTP requests or URLs to send requests to the background. The background corresponding controller receives requests, queries the database and performs logical operations, then assigns values ​​to the specified template, finally renders the template output, and displays the results on the browser. The entire system implements the user's login registration function, and implements the viewing function of the picture, including viewing the latest picture, the hottest picture, the classification of the picture, and the keyword search function. The functions of uploading, downloading, and storing pictures and modifying picture information are realized. Users can view their uploaded, downloaded, and favorite pictures, change their passwords, and modify the registered e-mail address. Implements the function of the administrator to review pictures, delete pictures, view all user information, and delete specified user information. The picture rights management function is implemented.

Keywords: PHP;ThinkPHP;BootStrap;Mysql;Photo sharing

目录

1 绪论 1

1.1 目的及意义 1

1.2 国内外研究现状 1

1.3 开发环境 2

1.3.1 开发工具 2

1.3.2 工具简介 2

2 系统需求分析 3

2.1 需求概述 3

2.2 功能需求 3

2.3 扩展需求 4

2.4 可行性分析 5

2.4.1 技术可行性 5

2.4.2 经济可行性 5

3 系统总体设计 6

3.1 系统设计目标 6

3.2 系统架构设计 6

3.3 系统模块设计 7

3.4 数据库结构设计 9

4 系统详细设计 12

4.1 用户登录/注册模块 12

4.1.1 用户登录 12

4.1.2 用户注册 13

4.2 主页信息模块 15

4.2.1 所有图片显示 15

4.2.2 最新图片显示 16

4.2.3 最热图片显示 16

4.2.4 分类显示 16

4.2.5 搜索图片 16

4.2.6 数据库查询 16

4.2.7 分页实现 17

4.2.8 瀑布流效果实现 17

4.3 个人信息模块 19

4.3.1 我的收藏 19

4.3.2 我的下载 19

4.3.3 我的上传 19

4.3.4 个人资料 20

4.3.5 修改密码/邮箱 20

4.3.6 上传功能 20

4.4 管理员模块 22

4.4.1 审核界面 22

4.4.2 用户信息界面 22

4.5 图片权限管理模块 22

4.6 图片操作模块 24

4.6.1 收藏图片 24

4.6.2 下载图片 25

4.6.3 修改图片 25

4.6.4 删除图片 25

4.6.5 审核图片 25

5 系统测试 25

5.1 登录测试 25

5.2 注册测试 26

5.3 上传图片测试 26

5.4 修改密码测试 27

5.5 图片权限测试 27

5.6 图片操作测试 27

总 结 29

参考文献 30

致 谢 31

绪论

目的及意义

现今社会已经进入了信息社会。随着互联网的发展,在信息的交流与传递过程中,一个一个的网站起着重要的作用。手机和数码相机在我们的生活中随处可见,每天都有大量的图片在产生。对于互联网上越来越多的图片信息,怎样保存,分享,搜索图片已经成为人们面临的重要问题。因此建立一个方便广大用户分享图片的网站十分有意义。

以前的集中发布式图片网站慢慢的不能满足人们的需求,图片资源不足是此类网站主要的问题。图片分享也逐渐转变成了用户分享图片,网站审核发布的模式,这种模式对一个网站的用户的吸引程度远远高于传统模式。因此建立一个此种模式的图片分享网站很有必要。该网站应让用户可以很方便的分享图片以及很快捷的搜索图片。建立的网站要充分考虑图片发布和浏览的权限管理问题,允许分享者指定浏览权限、读者范围。在网站操作上,应该使得所有的操作简单直观,交互性良好。

国内外研究现状

国外比较著名的共享图片网站主要有Pinterest、Instagram、Flickr、Path等。每个网站的定位和发展现状都有所不同。Pinterest于2010年1月上线,该网站的名字由两个单词Pin(图钉)和Interest(兴趣)组成,寓意把自己感兴趣的图片用图钉钉在钉板上,用以激发用户的灵感,促使用户不断去发现喜欢的新图片。用户可以基于自己的兴趣收藏图片,也可以对图片分类,做注解,并且分享给朋友。2011年5月至2012年1月,Pinterest在9个月内的用户访问量从41.8万人增长到1170万人,成为迄今为止用户数增长最快的网站。Instagram作为一个共享图片网站,它的宗旨在于,使用相片连接全世界爱好摄影的陌生人,让影像成为他们对话的唯一语言。2013年2月活跃用户突破1亿人,每天发布的照片数量超过千万张。由于其强大的影响力,取得了巨大的利润。

目前国内的图片网站主要以图片导购网站为主,如堆糖网等,花瓣网等。花瓣网也是基于用户兴趣的图片网站,网站为用户提供了一个简单的采集工具,用户可以将自己喜欢的图片收藏或者重新组织。由于硬件和带宽成本以及盈利模式的原因,国内做的好的图片分享网站还不是很多。

开发环境

开发工具

Web服务器 apache2.2

编译环境 php7.1

开发环境 phpstorm2018.1.2

数据库 mysql 5.5.53

数据库管理工具 navicat 11.0.19

框架 ThinkPHP5.0.19

工具简介

PHP语言是一种通用的开源脚本语言。适合网页开发。 PHP可以将程序嵌入HTML文档之中并高效执行。PHP几乎与所有服务器兼容,可以跨平台,支持多个数据库,并且易于学习。

Apache是​​一个广泛使用的服务器软件。他可以在大多数平台上运行,安全性高。

MySQL是一个开源免费的关系型数据库管理系统。可以处理数千万条记录。 MySQL使用标准的SQL语言,支持多种语言,并且对PHP有很好的支持。

ThinkPHP是一个轻量级的PHP框架,使用面向对象的开发模式和MVC模式。可以解决大部分的应用需求,所以我们只需要关注业务逻辑。

Bootstrap是一个流行的前端框架。是用于HTML,CSS和JS开发的开源工具。采用响应式网格系统,可以帮助我们快速构建前端页面。该框架简单易用,界面简洁美观。

系统需求分析

需求概述

本系统是一个个性化图片分享网站,主要面向想要在网上分享、查找、下载图片的互联网普通用户。因此在界面上要求做到简洁美观,在操作上要求直观快捷。在功能上要求至少实现图片的上传、图片的查找、图片的下载。本系统只负责管理图片,因此所有的图片都由用户提供,因此用户对图片拥有最高的权限,用户可以修改图片信息、删除图片以及指定图片的浏览群体。网站管理员只负责审核以及发布图片。

功能需求

本系统主要有三类用户,每个用户能够进行的操作如下:

  1. 游客:只能查看“所与人可见图片”
  2. 注册用户:查看“所有人可见图片”和“注册用户可见图片”。收藏,下载,上传图片。修改上传图片信息,设置可见权限,删除图片。修改个人信息。
  3. 管理员:审核图片、删除图片、查看用户个人信息,删除用户

系统用例图如图2.1所示:

图2.1 系统用例图

扩展需求

本系统现阶段主要实现的是图片的分享,包括图片的上传,下载,查看,修改。进一步的可以增加网站的社交功能,比如可以增加图片评论、用户关注、查看其它用户空间、热门用户推荐、分享等功能。这就要求在设计数据库和编写模块代码时,充分考虑未来扩展的可能性。

可行性分析

技术可行性

本网站前端部分采用BootStrap框架来简化页面的编写,相比于直接编写HTML页面可节约大量时间,同时页面也较为美观。用PHP作为后台语言,PHP可以在服务器端高效运行。采用ThinkPHP框架实现MVC设计模式,将逻辑、数据、界面三者分离。采用免费的Mysql数据库来保存后台数据。使用可视化数据库管理工具navicat for Mysql来管理数据库。使用免费的Apache服务器作为该系统的本地服务器。采用PHPStorm作为集成开发工具编写代码。所有的技术都成熟可用。

经济可行性

开发本网站的使用的框架、服务器 、数据库以及数据库管理工具都是开源免费的。PHPStorm学生用户也可以免费使用一年。仅仅需要投入时间成本开发网站。

系统总体设计

系统设计目标

本系统的主要目标是设计并实现一个性化图片分享网站,作为一个纯粹的分享图片的网站。应当实现图片分享相关的所有功能。用户应当可以搜索、查看、上传、下载图片,管理员可以审核发布图片。系统在开发过程中,应该充分考虑系统的可扩展行。随着网站的不断发展,可能以后还要加入相关的社交功能等其他功能,所以在当前设计系统时因充分考虑这种可能。本系统面向的用户是所有的互联网用户,应该充分考虑到所有用户的特点,在系统操作上要求简单、方便、快捷,这就要求系统能够提供简单直观的用户界面。

系统架构设计

整个系统采用B/S架构模式,用户通过浏览器发送请求,服务器响应请求做出回应。具体到本系统,用户在浏览器提交表单操作,或者点击链接,等待服务器响应。服务器接受请求,转到相应的控制器进行处理,根据不同的请求,可能会连接数据库,进行数据库操作。操作执行完后,渲染输出相应的模板文件,将结果返回给浏览器。浏览器解释执行HTML文件,呈现用户所需界面。系统架构设计图如图3.1所示

图3.1 系统架构图

系统模块设计

个性化图片分享网站主要实现以下两个功能:一是用户搜索图片资源,下载图片。二是用户上传图片,设置图片信息和浏览权限,管理官审核图片发布。本系统采用模块化设计,使系统结构更加清晰。根据网站实现的功能可以分为以下几个模块:登录注册模块、主页信息模块、个人信息模块、管理员信息模块、图片权限管理模块、图片操作模块。 各个模块的功能如表3.1所示。

表3.1 模块功能表

功能模块

功能概述

登录注册模块

新用户可以通过邮箱注册账号,登录账号。

主页信息模块

在主页可以分类查看图片,可以查看所有图片、查看最新图片、查看最热图片、按图片标签分别查看,搜索图片。

个人信息模块

登录用户可以浏览自己上传、下载、收藏的图片,可以查看个人信息,修改密码,修改邮箱。上传图片。

管理员模块

管理员可以审核已上传图片,删除图片,查看所有用户信息,删除用户。

图片权限管理模块

实现按权限对图片的操作。游客只能查看图片信息,注册用户可以下载,收藏所有已分享图片,可以修改删除自己上传的图片。管理员可以浏览审核删除所有图片

图片操作模块

具体实现图片的收藏、下载、修改、删除、审核功能。

系统主要分为三个界面,每个界面实现了不同的功能,主页主要实现的图片查看功能,可以查看最新最热图片,分类查看图片和搜索图片。用户信息界面主要实现用户相关的功能,包括查看自己上传、下载、收藏的图片,修改个人资料以及上传图片。管理员信息界面主要实现审核图片和查看用户信息的功能。系统结构设计图如图3.2所示。

图3.2 系统结构设计图

数据库结构设计

本系统的数据库pictureshare主要由用户表、图片表、下载表、收藏表四张表组成。数据库模型图如图3.3所示。

图3.3 数据库模型图

  1. 用户信息表

用户信息表:存储用户的个人信息。主要用于用户登录,包括用户名,密码,邮箱三项个人信息,以及分辨用户类别的user_type字段。用户信息表如表3.2所示。

表3.2 用户信息表(user)

列名

类型

备注

描述

user_id

int

主键递增

用户id

user_name

Varchar(60)

唯一

用户名

password

Varchar(20)

密码

email

Varchar(30)

唯一

邮箱

user_type

int

1管理员0用户

用户类型

  1. 图片信息表

图片信息表:存储关于图片的所有信息。包括图片描述,图片存储路径,图片类型,上传时间,上传用户等信息。数据库不存储实际的图片信息,只存储图片的路径信息,可以节约数据库空间,加快读取速度。Collectnum字段用来记录图片收藏和下载的总次数,由此来判断图片的受欢迎程度。Pstate字段主要用于图片的权限管理。所有上传图片最初为未审核状态,审核通过后默认为所有人可见。用户可以自行修改图片权限,可以为“仅自己可见”、“所有人可见”、“仅注册用户可见”。图片信息表如表3.3所示。

以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。

相关图片展示:

您需要先支付 49元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找,微信号:bysjorg 、QQ号:3236353895;