博客列表 >php文件上传

php文件上传

二三的博客
二三的博客原创
2018年10月13日 15:38:276066浏览

1.服务器端php.ini文件配置:

P~~DEAP75ATX8H({C6~]URC.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();

网页信息:

~2(5Q$[(33`RCX]PKHQQY]5.png

XT}`P51RL8LPX9YTD~XM]Y4.png

其中,myFile是form表单中input="file"的name属性的值。

解释:[name]:上传文件的原文件名;

          [type]:上传文件的属性;

          [tmp_name]:上传文件的临时保存目录及临时保存文件名;

          [error]:上传错误信息;

          [size]:上传文件大小。


[error]错误信息说明:

OON7U39E0S9KW`67D3H7`24.png

0CV3)IWP7QFS5)$VM@WPJO1.png

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;
   }
}


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议