PHP的文件上传技术 PHP的文件上传技术

PHP的文件上传技术

  • 期刊名字:辽宁师专学报(自然科学版)
  • 文件大小:614kb
  • 论文作者:张跃旭,孙文毅,王春来
  • 作者单位:大连交通大学,朝阳师专,辽宁省交通高等专科学校,朝阳市殡葬管理所
  • 更新时间:2020-10-30
  • 下载次数:
论文简介

第10卷第2期辽宁师专学报Vol.10 No.22008年6月. Joarnal of Liaoning Teachers CollegeJon.2008[学术研究]PHP的文件上传技术张跃旭12,孙文毅’,王春来‘(1. 大连交通大学,辽宁大连116028; 2. 朝阳师专,辽宁朝阳122000;3.辽宁省交通高等专科学校,辽宁沈阳110122; 4.朝阳市殡葬管理所,辽宁朝阳122000)要:探讨通过使用PHP的文件上传技术,利用HTTP将文件从客户端浏览器传递到服务器,从面更新网站内容关键词: PHP;文件上传; HTTP中图分类号: TP393.093文献标识码: A文章编号: 1008 - 5688(2008)02 - 0036 - 02在网站使用时,客户通常希望能够及时更新网站的内容,如有关公司的最新信息等,解决此类问题的一种方法是使用FTP上传软件,支持FTP上传有很多种软件,其中最著名的是CuteFTP软件和LeapFTP软件,但有的空间不支持FTP.另一种方法就是用户在建立网站时,自己设计上传功能,让客户以普通文本的方式上传文件内容.作为 FTP软件的编程语言,PHP一个非常有用的功能是能够支持HTTP方式的文件上传,并且随着PHP的不断完善,这一功能也越来越完备,能够将文件从客户端浏览器传递到服务器.通常,使用HTML表单来实现这一功能.为了实现文件上传,需要-些专门用于上传文件的HTML语法,通常表单的源代码如下":< html>上传此文件: < input name= "wserfile" type= "file* >< body>< input type=' submit" value= "上传文件”>< form enctype =" multipar/orm-date" action =”upload. php"method=' "potr" >< input type =" hidden" name =" MAX- FILE. SIZE" value =” >100000*>此表单为获得更多浏览器的支持,使用了POsT方法.在

标记中,必须设置厲性enctype= "multipar/form- data",表单中enctype = "moutipar/form- data”的意思,是设置表单的MIME编码,在默认情况下,MIME编码格式是aplication/x - www - form - urlencoded,不能用于文件上传,只有使用multipar/form- data才能完整地传递文件数据,进行下面的操作.这样,服务器就能够知道上传的文件带有常规的表单信在标记中,还必须有一一个可以设置上传文件最大长度的表单城.这是一个隐藏的域,如:< input type = "hidden' name= "MAX_ FILE SIZE" value = 2000000 >表单域的名字一定是"MAX FILE- SIZE". 其值是允许用户上传文件的最大长度值(按字节计算).在这里,可以将其设置为2 000000B (约2 MB).用户可针对自己的应用程序,适当设置其值.利用此HTML代码,可以完成文件的选择并启动处理脚本如果已经知道上传文件的位置及其名称,就可以利用处理功能的脚本将其复制到相应位置. PHP函数库中的FILE函数库、字符串类型函数库、目录函数库及$_FILES []的使用是程序设计人员必须要用到的.脚本代码如下:1/将文件存放在指定的/uploads/目桑<body>$ upfile= /uplads. $ FILES ["'serfile'] ['name"];<? php11确保所处理的文件已经被上传,而且不是一个本地文件11判断与文件上传相关的错误代码if (is . uploadedL file ($ - FILES ['userfile'] ['mp_ name'))if ($_FILES ['serfile'] ['error'] >0)lif (! move- uploaded _file ( $ _FILES [' userile'] [' mp-{switch ($ - FILES ['userfile'] error'])namne'], $ upfile))Icase1: echo'上传文件的长度超出了约定值';lecho不能移动文件到目标目录';break;exit;|case2: echo'上传文件的长度超出了HTML表单的MAXFILE .SIZE 所指定的最大值’;echo '文件上传成功
';reak;I/打开文件,读取上传的文件内容case 3;echo‘文件只被部分上传';$fp= fopen ( $ upfile,'r');$ contents= fread ($ fp, flesze ( $ upiel);echo‘没有上传任何文件';fclose ($ fp);I/整理文件内容$ c∞ontents= strip_ tags ( $ contents);$fp= fopen ( $ upfile,fwrite ( $fp, $ contents);//检查MIME类型feloe ($ fp);if ($_FILES ['userfile'] ['type']! = tex/plain)中国煤化工echo''错误的文件类型';此段脚本的功能是首先检查返回的错误代码和MIME类型.然后CHCNM H G,文I国江典上传而且要求不是一个本地文件.如果所有的工作进展顺利,可以将上传的文件复制到包含目录中,最后,打开这个文件,使用strip tags ()函收稿日期: 2006- -10- -20作者简介:张跃旭(1971-), 男,辽宁北票市人,讲师,主要从事网站建设及计算机网络安全教学研究.张跃旭,等PHP的文件上传技术37数清除所有HTML标记或PHP标记,并保存该文件.决定在产品服务器上使用文件上传功能时,必须确定所使用的PHP是最新版本,而且要时刻注意PHP的补丁发布.PHP默认的上传限定的最大值是2 M,如果上传的文件大小超过此设定值,需要调整PHP的一些参数.(1) file. uploads: 是否允许通过HTTP上传文件的开关,默认为ON. (2) upload tmp- dir: 用来说明PHP上传的文件放置的临时目录,要想上传文件,必须保证服务器没有关闭临时文件和对文件夹的写权限,如果未指定则PHP使用系统默认值. (3) upload max_ filesize: 允许上传文件大小的最大值,默认为2 M. (4) post max_ size: 在采用POST方法进行一次表单提交中PHP所能接收的最大数据量.如果使用PHP文件上传功能,则需要将此值调整为大于uploadL max filesize的值.参考文献:[1] Luke w, Laura T. PHP 和MySQL Web开发[M]. 武欣,邵煜译.北京:机械工业出版社, 2005. 262 -278.(责任编辑李树东, 王巍)(上接20页)K≥√41+4J-41-4J+1+ (2-1)(8)因此,相对于无跨越连接神经网络,有跨越连接的神经网络能以更加简洁的结构逼近神经网络的理想状态.3.2有跨越连接的一维输入网络的方 案.最简单的例子是N=1 (只有一个特征X)的网络,其结构如图5所示;无跨越连接时此网络的分界面见图6.接入跨越连接后,对区域I、I、W网络的模拟输出信号g分别为: g1=ao +a,x-ai-az, gu=ao+ ax+a1- -az,8a=ao +ax+an+a2.十8-0一这-Csim ]-网络把它们分为两个子区,g≥0和g<0.由g1、g1>gn等于零可求出三个附加C这阀值:x; =(an+az-ao)/an,x=(ar-a;-ao)/a.,xz=(-an-ar -ao)/a.图5行跨越连接的-维两层网络对于确定性神经网络模型来说,要解决的问题的复杂性可由网络第1层-1 aonlla2lIl 3输出的超平面围成的一些开或闭区中的样本数量来估计.当把神经网络作为图6无黔越连接时网络的分界而一种概率模型时,每-标本对应于输人样本总体分布的-一个峰值.此时,在特征空间中的每一区域中,多层网络所划分的不仅是- -个标本,而且是标本周围的一个紧致集.对于输人样本总体为多峰的情况,这一紧致集可由分布密度的等值线来描述,这种类区的数量和复杂程度代表了待解问题的复杂程度.因此,一个神经网络模型能求解多么复杂的问题,取决于它产生的超平面所能划分的最大类区数[4).对于顺序连接的多层网络来说,网络的功能是随层数和各层单元数单调上升的.这样,结构优化问题(使层数和各层单元数最小化)就是在不影响网络功能的前提下,消除多余的神经元,或者是对神经元个数加以限制.于是,如图5所示的网络最多有5个阀值,把轴分为6个区域.此时神经网络.(用分段线性方式把特征空间划分的最大区域数)等价于第1层有5个神经元的顺序前馈多层网络.可见,当解决复杂程度相当的问题时,有跨越连接的网络比顺序连接的网络要简单得多.上述内容是对一个两层网络中跨越连接的作用进行了分析.同样地,把跨越连接引入多层网络也能带来结构上的优化、在分析多层网络时,必须知道在N维特征空间中H,个超平面所能划分的最大类区数.研究结果表明(”,最大类区数W,由公式w,= w.+_1._.或者蝴,=C,-1+2 G-1确定.综上所述,在传统的多层神经网络中引入跨越连接是必要的,并且具有-定的优越性.[1]焦李成.神经网络系统理论[M]. 西安:西安电子科技大学出后[2]加卢什金.神经网络理论[M]. 北京:清华大学出版社,2002.中国煤化工[3]刘耦耕,李圣清,肖强晖.多层前馈人工神经网络结构研究[J].C N M H G34, 27(1):26-30.[4] CCF. Beck- propagation neural netwucls for nonlinar self - tuning adptive c∞nuroUJ. 1e uonro sysen ivagaine, 1990, (4): 44- 48.[5]王清,马广富,弥曼.一种基于遗传算法的神经网络控制方法研究[J].系统仿真学报, 2006, 18 (4):1070 - 1072.(责任编辑李树东,王 巍}

论文截图
下一条:网格技术初探
版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。