0627PHP基础:上传文件

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

<?php
    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)){
//            判断文件格式是否正确==============================================================
            if($type == "image/png"){
//                判断文件大小是否符合要求======================================================
                if($size <= 1024000){
//                    判断文件是否存在错误====================================================
                    if($error == 0){
//                        查找文件存放位置路径是否存在=============================================
                        if(!is_dir("./shangchuan/")){
//                            没有找到路径则先创造路径======================================
                            mkdir("./shangchuan/");
                        }
//                        获取时间戳====================================================
                        $time = time();
//                        拼接保存地址:路径+文件
//                        例:C:/yingyongchengxu/wamp/bin/mysql/mysql5.6.17/bin/mysql.exe
                        $xinlujing = "./shangchuan/".$time.$name;
                        if(move_uploaded_file($tmp_name,$xinlujing)){
                            echo "上传成功";
                        }else{
                            echo "上传失败";
                        }
                    }else{
                        echo "上传错误";
//                        假设文件上传字段的名称img,则:
//                        $_FILES['img']['error']有以下几种类型
//                        1、UPLOAD_ERR_OK
//                        其值为 0,没有错误发生,文件上传成功。
//                        2、UPLOAD_ERR_INI_SIZE
//                        其值为 1,上传的文件超过了 php.ini 中 upload_max_filesize选项限制的值。
//                        3、UPLOAD_ERR_FORM_SIZE
//                        其值为 2,上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。
//                        4、UPLOAD_ERR_PARTIAL
//                        其值为 3,文件只有部分被上传。
//                        5、UPLOAD_ERR_NO_FILE
//                        其值为 4,没有文件被上传。
//                        6、UPLOAD_ERR_NO_TMP_DIR
//                        其值为 6,找不到临时文件夹。PHP 4.3.10 和 PHP 5.0.3 引进。
//                        7、UPLOAD_ERR_CANT_WRITE
//                        其值为 7,文件写入失败。PHP 5.1.0 引进。
                    }
                }else{
                    echo "文件不能超过1M";
                }
            }else{
                echo "文件格式错误";
            }
        }else{
            echo "请选择文件";
        }
?>

posted @ 2018-06-27 16:33  359950470  阅读(141)  评论(0编辑  收藏  举报