基于PHP大文件上传的研究和设计

上传人:简****9 文档编号:108410049 上传时间:2019-10-23 格式:PDF 页数:2 大小:187.08KB
返回 下载 相关 举报
基于PHP大文件上传的研究和设计_第1页
第1页 / 共2页
基于PHP大文件上传的研究和设计_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《基于PHP大文件上传的研究和设计》由会员分享,可在线阅读,更多相关《基于PHP大文件上传的研究和设计(2页珍藏版)》请在金锄头文库上搜索。

1、2 0 0 9年第 4期 福建电脑 1 4 7 基于 P H P大文件上传的研究和设计 周明俊 (湛江师范学 院网络与教 育技术 中心广 东 湛江 5 2 4 0 3 8) 【 摘 要】 :基于We b的大文件上传是网络应用中经,g - g q 的问题。介绍了文件上传的传输方式和常见大文件上传解决 方案 , 分别对用户 F T P帐号安全 、 本地 文件 大小的检 测、 F r P协议上传 的 实现过程进行 了阐述 , 设 计 了一种 基于 We b的 无组 件 大 文件 上传 方 案 。 【 关键词】 :We b ; 大文件上传; P H P ; Z I P 1 、 引 言 随着计算机网络技

2、术 的快速发展 We b应用 系统以其友好 的用户界 面 , 较低 的维护和升级成 本 , 良好 的扩展 性 。 较高 的信 息共 享度 等优势 。 迅速成为当今 企业 级应用的主要形式 。 在 We b 应用系统 中经常需要向用户提供基于 We b的文件上传功能 如: 网络硬盘服务 系统 邮件 服务系统 , 网络 电子像册 , 网络 视频发 布系统 , 电子图书馆 资料管理 系统 , 局域 网文件 交换系统 。作为 w e b系统 开发的主 流技 术之一 P H P是一 种跨平 台的服务 器端 的嵌 入式 脚本语 言。在 这众多的应用 中 , 如何在 P H P实现大文 件高效上传是一个需要

3、 解决的问题 湛江师范学 院网络与教育技术 中心在实现 个人网络文件管 理系统 的过程 中 专 门对这一问题进行 了研究 提 出了基 于 P H P 大文件上传的解决方案 并应用 到学校个人相册 系统 和教学 管 理 系统 中 取得 了良好 的效果 2 、 P H P文件上传的传输方式 P HP中实现文件的上传可 以采用 两种方式即采用 H 1 _ I P协 议和 F T P协议实现 二者在传输的原理上存在很大的差异 。 唧是指超文本传输协议 是互 联网上应 用最为广泛 的一 种网络传输协议 。 r r P是 一种基 于请求, 响应模式的协议 客户 机与 服务器建 立连接 后 发送一个 请求

4、给服务 器 随后 附有 M I ME信息 【 n 。而基于 F O R M 表单的文件上传 , 文件的信息和 内 容正是封 装在 MI ME信息内发送到服务器端的 。田 n P是指文件传输协 议。 主要用来 在网络上传 输文件 这种 方式传输稳定 、 系统资源 占用 率低 、 对文件 大小没有 限制 服务 器的部署 比较复杂, 需要使用特定 的软件来完成上传和下载 而 且功能单一 、权限设置复杂, 一般用于专业 的文件传输。 对于普 通用户来说实用性不高 。口 1 H t t p协议和 F t D协议传输的 比较 : | 叼 1 ) 用 H r I ,r P协议上传 , 更适合 w e b编程

5、 的方 便性 : H rr P使 用浏览器作为客户端软件 界面友好 , 操 作简单 。 可 以通 过 WE B 表单机制 实现文件的上传。因此 H r I P的文件上传可 以集成在 w e b页 面中, 易用性 、 实用性较强 。 2 )用 Y I P协议上传 文件 大于 1 M 的文件速度 比 r r r P快 。 文件越大 , 上传 的速度就 比 册上传 的速度快 数倍 。 3 、 目前 P H P大文件上传 的实现方式 3 1 服务器组件上载方式 : 该方法以 P E C L扩展模块 u p l o a d p mg r e 8 s 为代表。u D l 0 a d p r o g r e

6、 s s已经正式放人 P E C L了 早 期 叫做 ” U p l o a d P rog r e s s M e t e r ” 。通过 A J A X方式获取文件信 息 然后 在浏览器中显示上传 进度条的。 这 个扩展 只能用 于 P H P 5 2或 以上版本 。 该 扩展模块 的优点是运行稳定 , 功能强 大 , 对浏览 器没有任何要求 。其缺点 就是它的开发是基 于 l i n u x 在 w i n d o w s 操作系统下很不稳定和 需要在服务器上安装扩展模块 。 3 2浏览器组件上 载方式 : 该方法以 S WF U P I o a d 、 纵横 h t t p文件上传组件

7、为代表。 该方 法的优点是对服务器无要求, 不需要在服务器上安装组件 并且 能提供文件上载所需 要的各种 功能 : 上 载大文件、 限制 上载文件 的大小 、 上载多个文件、 显示上载进 度条 。 其缺点也 比较明显 需 要 注册浏览器组件 ( 在客户端 ) 。 利用第三方所开发 的组件 可 以减少 WE B应用系统开发工 作量 , 缩短开 发周期 , 实现简单 , 无上传文件大小 限制 , 稳 定性 、 上传效率等 方面都非 常不错 而且 界面友好 , 普遍都提供 了上传 进度指示等附加 功能。 但存在的问题是 : 使用第三方组 件可能会 带来无 法预料 的安全性和可靠性问题 :但绝大多数组

8、件只适合 于上传 小文件( 3 0 MB以下1 四, 当文件较 大时大 部分组件 上传速 度慢 : 优秀的组件一般都为商业软件 , 需要付费才能使用 。 4 、 P HP大文件上传的设计 与实现 综 合上述分析 , 在学校个人网络文件管理 系统开发 中 设计 了利用上传表单 和 P H P语言的 F r P函数来实现大文件上载 4 1系统环 境及设 置 服务器 软件 环境 : L i n u x O S 、 A p a c h e 2 4 、 My S Q I A 1 、 P H P 5 2 、 V S F P 。软件 的具 体安装在此不再介 绍。为 了能支持上传 大文 件, p h p i

9、n i 配置文件必须修改如下 : 阍 u p l o a d m f d e s i z e = 5 0 0 m ;即允许上传 文件大小 的最 大值。 p o s t ma x s i z e = 5 0 0 m : 指通过 表单 P O S T给 P H P的所 能 接收的最大值 m ax _i n p u t t i me=6 0 0:每个 P H P页面接 收数 据所 需 的最 大时间 m e m o r y = : 每个 页面所需的最大内存 _ l i mi t 3 2 m P HP 4 2功能设计与实现 4 2 1用 户 F r P帐号的安全 登录远程 F T P服 务器有两种方式

10、,一种是注册用户登 录 。 另一种是 以匿名方式登 录。 出于安全的考虑 在系统中采用 了第 一 种方式 。 利用网页表单 收集 用户填写 的资料存储到 My S Q L数 据库内 同时以该用户的注册名创建一个 F 上传账号 。 密码 由 系统 以密钥形式 自动生成 。 My S Q L数据库的用户表( U S E R) 见表 l 。用户认证登 录管 理系统 时 , 通过 s e l e c t 语句获取 F r P帐号和 密码 , 并利用 C o o k i e 存放 , 以供 连接 和登录 f 几 P 服务器时使 用。 字段名 说 明 U s e r N a m e 用户登录名 U s e

11、 r P a s s W o r d 登录密码 F t p N a m e 用户在 F T P 服务器中的帐号 F t p _ P a s s l r o r d 用户在 F T P 服 务器 中的帐号密码 F T P _ F i l e s k l a x 允许上传文件 的上限 表 1 U S E R数据 表 4 2 1 F r P函数上传 第一步 : 确信你拥有连接 上传到 Y I P服务 器的权限 。 P HP 的 F T P函数需要客户端一 服务器连接 所 以在 文件上传之前需 要登录 目标服务器 。 第二步 : 创建上传 表单。在系统 中上传文件 的大小受 P H P 1 4 8 福

12、建 电脑 2 0 0 9年第 4期 I N I 配置和用户所允许上传 的上限影 响。 在文件上传之前先在本 地进行文件大小、 类型检测 。 如果符合要求 , 则上传 之, 否则 重新 选择上传文件。 f u n c ti o n c h k s iz e ( s t r F i l e N a m e ) v a t fo r m = d o c u m e n t f o r m4 ” f o r ml ” 】 ; V a l“ Ma x S i z e = f o r m e l e m e n t s ” M a x S iz e ” 】 v a l u e ; v a r o b j

13、S t r eam=n w A c fi v e X O b j ec t ( ” A D O D B S t r e a m ” ) ; o b j S t r e a m T y p e=l : o b j S t a m 0 p e n 0 ; o b j S t r e a m L o a d F r o m F i l e ( s t r F i l e N a m e ) ; i f ( M a t h r o u n d ( o b j S tr e a m S iz e 1 0 2 4 2 1M a x S iz e ) a le r t ( ” 您选 择 的文 件 为 ” +

14、 M a t h r o u n d (o b j S t r e a mS i z e 1 0 2 4 ,2 ) + ”K B n超过了” +Ma x S i z e+ ”KB的限制 !” 1 : f o r m r e s e tO ; r e t u rn f als e ; J J 第三步 :创建 P H P上传处理程 序。一旦表单被提交 给了 We b服务器 下一步是使用 P H P的 F r P函数按照用户提供的访 问信任书把它传输到 目标服务器上 。文件上传成 功与否还与网 络操作的最大可执行时间有密切联 系。因此系统 根据上传的文 件大小来设定最大可执行 时间这样可 以避免出现

15、 :设置过小 时 因为超时而导致上传失败 : 设置过大 , 当上传早已失败 时, 用 户还要经过长时间等待后 才返 回到表单 下面就是完成上述功 能的部分代码 。 $ c o n n _ i d=f t p _ c o n n e e t ( $ f t p _ s e r v e r ) ; $ 1 o g i n _ r e s u h=fi p _ l o g i n ( $ c o n n id S f t p u s e r _ n a m e , $ ft p _ u s e r _ p a s s ) ; f t p_s e t_o p t i o n ( $ e o n n _

16、 i d , I _ T I ME OU T _ S E C,$ U p l o a d T i me ) ; i f ( ( !$ c o n n _ id ) I 1 ( !$ | o g i n _ r e s u | t) ) ( 上接第 1 4 9页) e c h o“ 丌 P连 接 失 败 ! ( b r ” : e xi t ; J $ u p l o a d =f t p p u t ( $ e o n n _ i d , S d e s t i n a t i o n _ fi l e 。 $ 1 o e a 1 fi l e 。 T P _ B I N A R Y ) ; i f ( 1 $

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号