美文网首页
php 文件上传验证

php 文件上传验证

作者: WireRope | 来源:发表于2018-12-18 20:28 被阅读0次

    文件上传验证:

    if(!isset($_POST["submit"])){exit("未通过post方式提交");}
    function upload_file($input_name,$dir,$exts){
        $arr=$_FILES[$input_name]["name"];
        if(empty($input_name)){return "文件未上传";}//判断文件是否上传
        $ext=strrchr($_FILES["file"]["name"],".");//提取文件扩展名
        if(!in_array($ext,$exts)){return "文件类型有误";}//判断文件类型
        if($_FILES["file"]["error"]<>0){return "error".$_FILES["file"]["error"];}//判断错误类型
        if(!is_uploaded_file($_FILES["file"]["tmp_name"])){return "未通过 HTTP POST 上传";}//判断文件是否是通过 HTTP POST 上传的
        if(!is_dir($dir)){mkdir($dir,0777,true);}//创建上传目录
        if(move_uploaded_file($_FILES["file"]["tmp_name"],$dir.date("YmdHis").rand(1000,9999).$ext))//将上传的文件移动$dir
            {return "上传成功";}
        else
            {return "上传失败";}
    }
    $input_name="uploads";//上传控件的name属性
    $dir="e:/file/upload_multiple/";//规定存放上传文件的目录
    $exts=[".docx",".pptx",".xlsx",".doc",".ppt",".xls"];//规定上传文件的类型
    upload_file($input_name,$dir,$exts);
    

    错误类型提示:

    switch($_FILES["file"]["error"]){
        case 1:
            $err="上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。";
            break;
        case 2:
            $err="上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。";
            break;
        case 3:
            $err="文件只有部分被上传。";
            break;
        case 4:
            $err="没有文件被上传。";
            break;
        case 6:
            $err="找不到临时文件夹。";
            break;
        case 7:
            $err="文件写入失败。";
            break;
    }
    echo "error{$_FILES["file"]["error"]}: $info";
    

    相关文章

      网友评论

          本文标题:php 文件上传验证

          本文链接:https://www.haomeiwen.com/subject/rohrkqtx.html