美文网首页
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