文档详情

(PHP文件上传详解.doc

发布:2017-01-22约5.99千字共5页下载文档
文本预览下载声明
PHP文件上传详解 上传文件分为两个部分,HTML显示部分和PHP处理部分,HTML部分主要是让用户来选择所要上传的文件,然后通过PHP中的$_FILES,我们可以把文件上传到服务器的指定目录。 先来看一下HTML部分。 ? formaction=upload.phpmethod=postenctype=multipart/form-data 上传:inputtype=filename=myfile/ inputtype=submitname=submitvalue=上传/ /form 说明: form标答的action=upload.php是指点击这个form中的submit的时候,这个上传命令会被发送到这个叫 upload.php的页面去处理。method=post是指以post方式去送,enctype=multipart/form-data属 性规定了在提交这个表单时要使用哪种内容类型,在表单需要二进制数据时,比如文件内容,请使用multipart/form-data,如果要上传文 件,这个属性是必要的。input中的type=file时,规定了应该把输入作为文件来处理,并且在input后面会有一个浏览的按钮。 我们再来看一个PHP处理页面 upload.php ? ?php if($_FILES[myfile][name] !=) {   if($_FILES[myfile][error] 0) {     echo错误状态:.$_FILES[myfile][error];   }else{     move_uploaded_file($_FILES[myfile][tmp_name] ,uploads/.$FILES[myfile][name]);     echoscriptalert(上传成功!);/script;   } }else{   echoscriptalert(请上传文件!);/script; } ? 说明: 在解释这篇代码前,我们有必要了解以下知识。 $_FILES[myfile][name] 是指被上传文件的名称 $_FILES[myfile][type] 是指被上传文件的类型 $_FILES[myfile][size] 是指被上传文件的大小,单位为字节(B) $_FILES[myfile][tmp_name] 是指被上传文件存在服务器中的临时副本文件名称,文件被移动到指定目录后临文件将被自动消毁。 $_FILES[myfile][error] 是指由文件上传中有可能出现的错误的状态码,关于各状态含义后在会说明。 了解了这些,我们再来看一下upload.php的代码。 首先,$_FILES[myfile][name]中的myfile是指在上面HTML页面中上传文件标签的name值,根据这个我们才能知道我 们正在处理的文件是哪一个input提交过来的,然后再来判断一下 $_FILES[myfile][name] 不是否为空,根据这个我们可以知道用户有没有上传文件,从而执行不同的操作。如果上传了文件并且状态是0就说明上传成功,我们就可以用 move_uploaded_file方法把上传的文件存放到指定目录,上面这个例子是指把上传的文件移动到同目录下的uploads文件夹下,这个路径 是相对于这个PHP文件(既upload.php)的相对目录。比如,我们想把上传的文件移动到upload.php上一层叫user的文件夹中的话,我 们就可以这样写:move_uploaded_file($_FILES[myfile][tmp_name] , ../user/ . $FILES[myfile][name]),这种方法使用起来很方便、灵活,这样一个文件就被上传到服务器中了,可以打开服务器中的目录查看该 文件。 允许用户上传文件是一个有巨大的安全风险的行为,因此,通常情况下,我们会对用户上传的文件做一些限制,比如常见的限制文件 类型和文件大小,来看一下。 ? ?php if($_FILES[myfile][name] !=) {   if($_FILES[myfile][error] 0) {     echo错误状态:.$_FILES[myfile][error];   }else{     if($_FILES[myfile][type] ==image/jpegor$_FILES[myfile][type] ==image/pjpegor$_FILES[myfile][type] ==image/gif$_FILES[myfile][size] 20480){       move_uploaded_file($_FILES[myfile][tmp_name] ,uploads/.
显示全部
相似文档