基于PHP实现的WEB图片共享系统 精品.docx
《基于PHP实现的WEB图片共享系统 精品.docx》由会员分享,可在线阅读,更多相关《基于PHP实现的WEB图片共享系统 精品.docx(32页珍藏版)》请在冰豆网上搜索。
基于PHP实现的WEB图片共享系统精品
基于PHP实现的WEB图片共享系统
声明36
1引言
随着前段时间WEB2.0的热潮,整个BS开发方向和WEB的运营模式渐渐开始向另一个方向转变。
随着AJAX的重新使用,大大提高了用户的WEB体验。
其页面局部刷新的方式在很大程度上减少了用户访问页面时所花的时间。
并且让用户在提高体验的同时,也能够参与的内容的提供者里面来。
在传统的WEB系统中,都是有某个网站的管理员,或者类似的人去收集网站所需要的资源,并且将这些资源发布出去,但是随着WEB2.0的兴起,分享和体验逐渐占据了网站发展的重要的位置。
于是,网站从以前的集中发布式,渐渐的转变成了用户提供资源,网站整理发布的模式。
其中最为常见的就是BLOG,WIKI这些形势。
其中图片共享是很有发展潜力的一个方向。
首先,中国拥有数码相机的人群正在以一个稳定的数值在不断增长,但是,目前没有多少网站注意到了这片市场的潜力。
当用户拍了照片后,他们会找一个可以方便的共享自己所拍的照片的地方。
但是,现在传统的网站,要么操作太复杂,要么就是不方便共享,比如163,不支持外部连接图片,虽然这样做的确可以明显的降低服务器的负担,但是对用户体验却大大折扣。
试想,当一个用户想直接给朋友看他某个相册里面的某一张图片的时候,他还必须将自己的相册连接给对方,然后对方还要在相册里面找到那张图片后才能查看。
而且163上的图片没有专门针对数码照片的整理和分类,也就是说多而不精。
导致资源无法有效利用。
国内目前在这方面兴起的网站还不多,国外也有比较出名的,例如:
Flikre:
,巴巴变:
等。
其中巴巴变基本仿照FLIKRE改版过来。
就目前看来,该市场还有比较大的介入空间。
就目前看来,图片共享系统现在需要解决的问题主要是如何更快的让用户上传图片。
如何以更快的形式显示图片。
其中,影响到系统开发的主要有以下问题:
1、市场竞争,2、软件的可用性,稳定性,3、时间限制。
由于目前已经有部分市场被前期对手抢占,所以需要在尽可能短的时间内开发出一个可用的网站系统。
该系统初步分为两个部分,一个是作为WEB界面的WEB端,还有一个部分是用来通过C/S模式远程上传本地图片的客户端工具。
2系统概述
在对于由经用户提交的的方式来实现图片共享,首要就是提高用户上传效率,以及用户上传体验和用户的浏览是否方便。
一般的图片共享网站都是通过很单一的上传页面对文件进行上传,并且展现形式单一化,不方便用户使用和查看。
在WEB2.0下,诞生了大批用于增强用户体验的控件,使得图片共享比传统的形式更加的美观以及人性化。
而且除了需要良好的用户体验外,还需要良好的系统支持。
不仅仅是程序,而是随着用户需求可以不断拓展的业务平台,以及发展流程。
本就是根据目前WEB2.0的需求和特点有针对的利用现在比较成熟的框架所编写。
应用WEB2.0中已经成熟的框架接口可以大大加快目前高可用性应用的开发以及设计。
并且能够从用户角度来设计一个应用。
大大减轻了设计的压力以及风险。
该系统能够通过多种方式来对用户的图片进行上传以及管理。
并且使用了现在比较流行的视觉框架来实现图片的呈现,大大改进了用户体验。
3总体设计
3.1系统需求分析
图片共享,有三个方面需要考虑:
一,用户应该以什么方式上传图片;二,用户可以上传的图片有哪些类型;三,应该以什么方式展示这些图片。
另外,还应该实现对图片的简单整理以及统计。
因此,将上传图片的用户和浏览图片的用户作为系统服务的主要目标,对系统的功能提出了如下需求:
3.1.1图片上传需要支持的方式
图片上传应该支持目前使用最多的页面表单方式。
并且可以对其进行简单的处理。
除此之外,最好还要支持客户端方式。
并且需要实现在用户不安装客户端的情况下,在WEB上实现批量上传图片。
3.1.2用户上传图片需要支持的格式
一种是JPEG一种是PNG,现在大多数的数码相机都是使用JPEG格式保存图片,但是考虑到版权问题,也应提供PNG格式图片的支持。
3.1.3分类
图片上传后,根据图片的标签以及图片所在任务自动将图片按照标签以及任务进行分类
3.1.4图片管理
图片管理应该包括的基本内容:
图片的删除,图片的添加,图片分类的添加以及删除,图片任务的添加以及删除,图片标签的添加以及删除。
同时,在图片管理中,用户能够以比较直观的方式查看自己上传的图片。
3.1.5图片展现
应该能够很直观的展示给最终用户进行查看。
3.1.6查询功能
用户需要了解自己的分类下的图片总量以及任务下的图片情况,又因为用户可能需要根据不同的情况下,对自己的分类,任务下的图片情况做统计,因此该系统还应具有分类,任务,标签的多条件组合查询功能。
3.1.7由于该系统为多用户系统,系统后台还应该具有用户管理功能
用户管理包括的功能如下:
用户的添加,删除,查询。
以及对用户图片的查看,删除;对用户的分类的查看,删除;对用户标签的查看,删除。
3.2总体结构
图片共享系统主要功能模块结构示意图如下:
图3-1图片共享系统功能模块图
图片共享系统包括两大部分:
用户界面和后台管理,其中用户界面为用户可视并且可使用的功能,后台管理为管理员所能使用的功能。
3.3图片共享系统流程
●图片共享系统流程设计思想如下:
1.用户(这里主要指直接使用本系统的最终用户,不包括后台具有管理功能的用户)根据自己的图片格式,选择合适的图片上传到本系统的处理端。
2.系统在接到用户上传的图片后,应根据系统当前所允许上传的图片的类型判断用户所上传的文件是否符合系统的要求,确定用户为上传图片所分配的标签,依据上传图片的设置对图片进行分类以及更改格式,此时的图片并非最后存储在系统中的图片,该图片在经过裁减以及根据系统设定更改后的格式进行存储。
(这样做,是为了统一图片的格式,便于输出的处理以及图片入库时统一处理接口。
)
3.图片添加成功后,将上传的图片直接缓存到用户所在的文件夹下,按照上传日期排列,并且同时在数据库中保存图片的副本。
4.图片在存储后,同时在前台显示已经上传的图片,并且将图片添加到所设定的标签下,并且按照任务对图片进行分批显示。
5.用户在用户管理台里面可以对当前所有图片进行管理,用户删除图片时,可以按照单个图片,分类,标签,以及任务对图片进行删除操作。
6.已经上传的图片,可以通过用户查看图片的连接直接提供给第三方用户进行查看。
或者直接通过系统生成的连接发送给第三方用户进行查看。
7.后台管理员可以通过系统提供的功能直接对管理用户进行添加以及更改。
当需要具体赋予用户某个功能时,可以通过更改后台用户的细节设定来更改用户权限。
8.管理员在需要删除某个用户的上传图片时,也可通过统一的图片管理接口对用户的图片,分类,标签以及任务进行删除。
●图片共享系统流程图如下:
图3-2图片共享系统流程图
3.4图片共享系统模块功能介绍
图片共享系统,主要完成图片的添加,删除以及图片标签的添加,删除功能。
以及对多用户的管理以及在后台对用户的图片进行管理。
以下是子模块划分以及各模块的功能介绍。
3.4.1用户界面子模块划分
图3-3用户界面子模块结构图
●用户界面子模块—密码修改
密码修改,作为用户界面子模块的一部分,主要完成用户密码修改的工作。
执行流程是:
用户在登陆到主界面后,点击导航栏上的密码修改,转向到修改用户密码的界面。
在输入当前使用密码以及修改的密码并且重复输入一次修改的密码,最后填入该操作的验证码(为了方便用户,验证码已经由后台自动填入)。
当以上操作完成后,用户点击提交以对密码进行修改。
在用户提交修改内容时,页面内的代码首先检测用户两次修改的密码是否一致。
如果不一致,将提示用户密码不一致。
当该检查通过后,信息提交到后台系统。
后台系统首先判断验证码是否相同,如果相同,将比较用户输入的当前密码散列是否和数据库中的密码散列一致。
当两个散列一致时,后台系统将修改用户当前的密码为用户修改后的密码。
如果用户没有输入验证码或者验证码出错,当前用户密码散列无法和数据库中的密码散列对应,系统将给出对应的出错提示。
并要求用户重新填写。
●用户界面子模块—上传图片
上传图片,在用户登陆系统后,点击导航栏上的上传图片,进入上传图片功能页面。
此时,用户可以根据自己的需要选择单个图片进行上传或者直接批量上传多个图片。
1)对单个页面进行上传:
这种上传需要用户自己过滤不符合系统需求的图片,当前系统只支持JPEG以及PNG。
如果图片格式不符合要求,系统将给出出错提示。
当用户所选择的图片格式无误,并点击“开始上传”,此时,系统会弹出一个设置图片信息的对话框,需要用户选择该图片的类型,以及设置该图片的标签还有该图片的名称等信息。
当一切设置完毕后,点击“提交上传”,用户图片开始上传到系统中。
2)直接批量上传多个图片:
用户点击“批量上传”标签,系统提示该功能需要JAVA运行时支持,确认后,进入批量图片信息设定页面,该页面用于设置接下来所上传的图片的名称,描述,分类,标签等信息。
接下来将转入批量上传界面。
具体的操作步骤说明在批量上传页面中有详细的说明。
●用户界面子模块—管理图片
管理图片,在用户登陆系统后,点击导航栏上的上传图片,进入图片管理页面。
该页面分为上中下3个部分,分别为用户图片按照任务,分类,标签进行分类后的图片列表。
在这个列表里,用户可以对图片按照任务,分类,或者标签等批量对图片进行操作。
同时,在该功能页面中,也可以对分类,任务,标签进行删除操作。
3.4.2管理后台子模块划分
图3-4管理后台子模块结构图
●管理后台子模块—系统管理
系统管理作为后台管理的一个重要部分,主要是用于设置当前系统的环境变量,以及一些说明性的信息。
主要是由后台管理员对系统进行维护以及系统初始化的时候确定这些设置。
在设置完成后,如果不是系统性能问题或者系统迁移,均可以保持设定的信息。
这个功能为系统提供了比较方便的扩展系统环境变量的方法。
便于后期对系统的常规设定的修改以及方便系统的简单迁移,例如系统更换域名或者更改其他系统环境信息。
系统信息表中记录了系统的每个设定,对该模块进行修改最后将反馈到系统信息表中。
●管理后台子模块—管理员管理
管理员管理,主要是用于设置能够对当前系统后台的功能进行操作的用户,以及设置这些用户可以使用后台哪些功能。
该功能使得后台管理更为灵活,可以方便的进行权限托管。
并且可以设置对某个功能专门进行操作的管理人员,简化了管理的复杂程度。
这个功能为系统提供了比较方便的扩展系统管理团队的方法。
以便于在中后期对某个功能管理达到一定要求时可以对该功能赋予专用人员。
同时,该模块也提供了修改管理员信息的功能。
可以方便的使该管理员在各个功能之间实现切换以及更改现有权限。
●管理后台子模块—用户管理
用户管理用于管理当前系统中已经正常注册并且使用本系统的图片共享功能的用户。
用户要注册该系统,除了可以在前台提供的注册页面注册外,也可以由具有用户管理权限的后台管理员在后台进行添加。
除了用户能在自己的管理面板修改自己的信息之外,管理员可以通过该模块的用户编辑功能对用户信息进行修改。
同时,可以通过搜索功能来定位特定用户名的用户,便于更快的找到需要操作的用户。
●管理后台子模块—图片管理
图片管理用于管理当前系统中已经正常注册并且使用本系统的图片共享功能的用户所上传的图片。
在该模块中,后台管理员可以根据单个用户对该用户所上传的图片进行管理。
管理用户图片的界面和用户前台的管理界面相同。
另外,和用户管理一样,后台管理员也可以通过搜索特定的用户名来快速定位到某个用户,并且对他所上传的图片进行管理。
在用户上传图片的过程中,有可能由于用户的误操作导致用户所上传的图片没有分类或者没有标签,这种情况下,管理员可以使用图片清理功能将这些图片清理掉。
避免冗余以及错误数据导致的