1.服务器端php.ini文件配置:
2.html的form表单:
<form action="doAction.php" method="post" enctype="multipart/form-data"> 请选择文件: <input type="file" name="myFile"><br> <input type="submit" value="上传文件"> </form>
注意:1)表单必须为post方式提交;
2)form中必须有 enctype="multipart/form-data" 属性
3.在doAction.php中先打印上传文件信息:
//$_FILES:文件上传变量 print_r($_FILES); exit();
网页信息:
其中,myFile是form表单中input="file"的name属性的值。
解释:[name]:上传文件的原文件名;
[type]:上传文件的属性;
[tmp_name]:上传文件的临时保存目录及临时保存文件名;
[error]:上传错误信息;
[size]:上传文件大小。
[error]错误信息说明:
4.doAction.php:
<?php header("content-type:text/html;charset:utf-8");//头信息 //1.通过$_FILES文件上传变量接收上传文件信息 $fileInfo = $_FILES['myFile']; $filename = $fileInfo['name']; $type = $fileInfo['type']; $tmp_name = $fileInfo['tmp_name']; $size = $fileInfo['size']; $error = $fileInfo['error']; //2.判断错误号,只有为0或者是UPLOAD_ERR_OK,没有错误发生,上传成功 if($error === UPLOAD_ERR_OK){ //上传成功将服务器上的临时文件移动到指定目录下(两种方式) //move_uploaded_file($tmp_name,$destination):将服务器上的临时文件移动到指定目录下。成功返回true,否则返回false //copy($src,$dst):将文件拷贝到指定目录,拷贝成功返回true,否则返回false if(move_uploaded_file($tmp_name,"uploads/".$filename)){ echo "文件".$filename."上传成功"; }else{ echo "文件".$filename."上传失败"; } }else{ //匹配错误信息 switch($error){ case 1: echo '上传文件超过了php配置文件中upload_max_filesize选项的值'; break; case 2: echo '超过了表单MAX_FILE_SIZE限制的大小'; break; case 3: echo '文件部分被上传'; break; case 4: echo '没有选择上传文件'; break; case 6: echo '没有找到临时目录'; break; case 7: case 8: echo '系统错误'; break; } }