上传文件的一些具体判断,大小,路径传输方式配合html

     upload_max_filesize
    // 判断顺序: 先判断post  在判断upload
    // error 1: 上传文件超过了php.ini 中  upload_max_filesize的范围

    var_dump($_FILES);


    // 1. 判断错误
    if(key($_FILES) == null){
        echo '洗洗睡吧';
        echo '';
        exit;
    }

    // error = 0  代表上传成功
    if( $_FILES['icon']['error'] > 0){
        switch($_FILES['icon']['error']){
            case '1': 
                echo '你上传的太大了,我受不了了,换个小点的';
                break;
            case '2': 
                echo '上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值';
                break;
            case '3': 
                echo '文件只有部分被上传';
                break;
            case '4': 
                echo '没有文件被上传';
                break;
            case '6': 
                echo '找不到临时文件夹。PHP 4.3.10 和 PHP 5.0.3 引进';
                break;
            case '7': 
                echo '文件写入失败。PHP 5.1.0 引进。';
                break;

        }

        echo '';
        exit;

    }



    // 2. 判断文件类型
    // 获取后缀名
    $type = strtok($_FILES['icon']['type'],'/');
    var_dump($type);

    // 定义允许类型
    $allow_type = array('image','text');

    // 判断类型是否符合
    if( !in_array($type, $allow_type) ){
        echo '不合法的文件类型';
        echo '';
        exit;
    }

    // 给新文件取新名字
    $filename = '20_'.date('Ymd').uniqid().$_FILES['icon']['name'];

    // 设置上传存储目录
    $dir = './uploads/';
    $dir .= date('Y').'/';
    $dir .= date('m').'/';
    $dir .= date('d').'/';

    // 判断存储目录是否存在
    if( !file_exists($dir)){
        // 0777 代表最大权限
        mkdir($dir, '0777', true);
    }

    // 判断文件是否从 http post上传的
    if( !is_uploaded_file($_FILES['icon']['tmp_name'])){
        echo '小伙子,你想走偏门上门,没门';
        echo '';
        exit;
    }   

    // 移动文件到指定 存储目录中
    if( move_uploaded_file($_FILES['icon']['tmp_name'], $dir.$filename) ){
        echo '上传成功';
        echo '';
        exit;
    }else{
        echo '上传失败';
        echo '';
        exit;
    }


 ?>
 


    
    update


    
头像:

你可能感兴趣的:(上传文件的一些具体判断,大小,路径传输方式配合html)