1.服务器端php.ini文件配置:
![1539412902929738.png P~~DEAP75ATX8H({C6~]URC.png](https://img.php.cn//upload/image/341/693/111/1539412902929738.png)
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();
网页信息:
![1539414106720701.png ~2(5Q$[(33`RCX]PKHQQY]5.png](https://img.php.cn//upload/image/393/341/439/1539414106720701.png)
![1539414116387844.png XT}`P51RL8LPX9YTD~XM]Y4.png](https://img.php.cn//upload/image/448/528/472/1539414116387844.png)
其中,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;
}
}
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号