上传文件

使用表单中input type=file 上传文件

html

        <form action="chuli.php" method="post" enctype="multipart/form-data">
            <input type="file" name="upfile" id="upfile" />
            <input type="submit" /> 
        </form>

php

    echo '<pre><meta charset="UTF-8">';
    //输出所有传值内容
    var_dump($_FILES['upfile']);
    //将每一项赋值
    //文件名
    $name = $_FILES['upfile']['name'];
    //文件类型
    $type = $_FILES['upfile']['type'];
    //临时路径
    $tmp_name = $_FILES['upfile']['tmp_name'];
    //错误代码
    $error = $_FILES['upfile']['error'];
    //文件大小
    $size = $_FILES['upfile']['size'];
    //如果文件名不为空则向下判断
    if(!empty($name)){
        //如果错误等于0 则没有错误,往下判断
        if($error == 0){
            //文件类型为图片时
            if($type == 'image/jpeg'){
                //文件大小小于100000b
                if($size <=100000){
                    //如果不存在文件夹upfile
                    if(!is_dir("upfile")){
                        //创建文件夹upfile
                        mkdir("upfile");
                    }
                    //定义时间戳
                    $time = time();
                    //文件名设置为
                    $path = "upfile".$time.$name;
                    //如果文件移动成功
                    if(move_uploaded_file($tmp_name,$path)){
                        echo '上传成功';
                    }else{
                        echo'上传失败';
                    }
                //否则则输出文件过大
                }else{
                    echo'文件过大';
                }
            //若不是图片则输出格式不对
            }else{
                echo'文件格式不对';
            }
        //错误代号,输出各种错误意思。
        }else{
            switch($error){
                case '1':
                    echo '上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值';
                break;
                case '2':
                    echo '传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。';
                break;
                case '3':
                    echo '文件只有部分被上传';
                break;
                case '4':
                    echo '没有文件被上传';
                break;
                
            }
        }
    //文件名为空,则输出文件为空
    }else{
        echo '文件为空';
    }

文件传输的内容

name 为文件名,

type 为文件类型

tmp_name 为文件临时路径

error 为错误代码

size 为文件大小单位为b

错误类型如下:

  0 :没有错误

  1:上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值

  2:传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。

  3:文件只有部分被上传

  4:没有文件被上传

其他:

  is_dir() 函数检查指定的文件是否是一个目录。

  mkdir() 函数创建目录。

  move_uploaded_file(file,path) 函数将上传的文件移动到新位置。  file为文件  path为位置

 

posted @ 2018-06-28 02:18  ❉SSs  阅读(140)  评论(0编辑  收藏  举报