C++冲浪板面

记录C++点滴感悟

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  11 随笔 :: 1 文章 :: 24 评论 :: 0 Trackbacks
下面是一个更加复杂的文件上传实例,先看该程序的代码,稍后我们将详细讲解这个程序.该程序命名为upload.php,代码如下: 文件上传界面
文件上传代码
返回 该程序首先生成一个简单的上传文件截面,浏览文件,单击[上传]按钮后,将显示上传成功页面. 下面详解释上面的程序. 本程序由于同时包含上传界面和上传处理部分,故总体上可以分为两部分,我们通过在form中添加UploadAction指出当前的状态(界面或实现). if(!$UploadAction):后是一部分,else;后又是一部分.前一部分是生成上传文件界面,后一部分是处理上传文件. 首先在form表单中要将method属性设为Post,enctype属性设为multipart/form-data; 在form表单中可以加一个hidden类型的input框,其中名字为MAX_FILE_SIZE的隐藏值域,通过设置其VALUE可以限制上传文件的大小. 因为form传递过来的值会自动赋值给同名变量,所以直接通过$UploadFile 可以直接访问上传的文件,但由于这是一个保存文件的变量,因此文件名字必须通过另外一个$UploadFile_name变量取得. 上传的文件必须用一个固定的目录保存,在这里我们用一个$UploadPath 变量保存.如可以设置$UploadPath ="/home/flier/upload/",这里我们使用了复杂一点的自动定位,如: $UploadPath=AddSlashes(dirname($PATH_TRANSLATED))."\\upload\\"; $PATH_TRANSLATED,顾名思义就是当前传送目录,我们假定以其一个名为upload的子目录来保存上传的文件.dirname函数返回其目录名,然后加上子目录名. 然后用一个变量$FileName保存完整的上传后文件名和路径: $FileName=$UploadPath.$UploadFile_name; 在前面的form表单中定义了一个变量UploadFile,在后面处理上传文件时,我们就可以使用这个变量,直接通过$UploadFile访问上传的文件,但由于这是一个保存文件的变量,因此文件名字必须通过另外一个$UploadFile_name变量取得. 下面是这个变量的具体用法: 1.$UploadFile:在将要存放上传文件的服务器上的临时文件名 2.$UploadFile_name:在发送者系统中的初始文件名. 3.$UploadFile_size:按字节计算的上传文件的大小. 4.$UploadFile_type:多用途网际邮件扩充协议类型的文件,前提是浏览器提供这种信息,比如说"image/gif". 用set_time_limit($TimeLimit);设置超时限制时间,默认时间为30秒,设置为0时为不限时,考虑到大文件上传时容易出现超时的情况,这里加大超时限制时间. 上面我们就详细讲述了如何使用PHP进行上传.这里要重点强调两点: A.在form表单中要将method属性设为post,enctype属性设为multipart/form-data. B.在form表单中可以加一个hidden类型的input框,其中名字为MAX_FILE_SIZE的隐藏值域,通过设置其VALUE可以限制上传文件的大小.当然,这个值不可能超过PHP的配置文件(PHP3.0为php3.ini,PHP4.0为php.ini)中的upload_max_filesize,注意这个input框一定要放在所有file类型的input框前面,否则也是无效的.  
posted on 2006-05-09 22:34 SHUIGANG 阅读(384) 评论(0)  编辑 收藏 引用 所属分类: 离散点