PHP5薄荷教程[13]文件上传 收藏
文件上传使用的是POST方式,一个基本的文件上传表单如下: fileupload.htm <form enctype="multipart/form-data" action="dealfileupload.php" method="POST"> 选择要上传的文件: <input name="userfile" type="file"/> <input type="submit" value="上传"/> </form> 需要注意的是enctype属性的值以及file控件里的name属性,这是用来标识上传的文件的。 该表单的处理脚本如下:
dealfileupload.php <?php $docroot=$_SERVER['DOCUMENT_ROOT']; $fileupload=$docroot."/upload/".$_FILES['userfile']['name']; if (move_uploaded_file($_FILES['userfile']['tmp_name'],$fileupload)){ echo "文件上传成功"; }else{ echo "文件上传失败"; } ?> 如果上传成功,则文件将被保存到网站根目录下的upload目录中。下面让我们分析一下这段简单的处理脚本。 1、$_FILES数组 如果file控件里的name属性的值为userfile,则$_FILES['userfile']包含了该上传文件的信息。假定我们上传了名为temp.txt的文件,则: $_FILES['userfile']['name']="temp.txt" 文件名 $_FILES['userfile']['tmp_name']="c:/tmp1" 完整的临时文件名 $_FILES['userfile']['type']="text/plain" 文件类型 $_FILES['userfile']['size']=1024 文件大小(字节数) $_FILES['userfile']['error']=0 错误代码,0表示成功 2、bool move_uploaded_file (string filename, string destination)
该函数专门负责转移上传的文件。filename表示完整的临时文件名,一般是$_FILES['file1']['tmp_name'];destination表示完整的目的文件名,一般使用$_SERVER['DOCUMENT_ROOT']."/upload/".$_FILES['file1']['name']。如果上传成功,则返回1,否则返回0并报错。如果想要隐藏错误提示,可以这样写:@move_uploaded_file(...) 3、如果需要上传多个文件,则可以设置多个file控件,注意name属性要设置为不同。如:
filesupload.htm <form enctype="multipart/form-data" action="dealfilesupload.php" method="POST"> 选择要上传的文件1: <input name="file1" type="file"/> 选择要上传的文件2: <input name="file2" type="file"/> <input type="submit" value="上传"/> </form> dealfilesupload.php
<?php $docroot=$_SERVER['DOCUMENT_ROOT']; $file1upload=$docroot."/upload/".$_FILES['file1']['name']; $file2upload=$docroot."/upload/".$_FILES['file2']['name']; if (@move_uploaded_file($_FILES['file1']['tmp_name'],$file1upload)){ echo "文件1上传成功"; }else{ echo "文件1上传失败"; } print "<br/>"; if (@move_uploaded_file($_FILES['file2']['tmp_name'],$file2upload)){ echo "文件2上传成功"; }else{ echo "文件2上传失败"; } ?> 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zjerryj/archive/2008/02/22/2114046.aspx
|
|