• PHP文件上传


    1 文件上传基本案例

    form.html文件如下:

    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<title>文件上传</title>
    </head>
    <body>
    	<form action="test.php" method="post" enctype="multipart/form-data">
    		用户名:<input type="text" name="user">
    		头像:<input type="file" name="pic">
    		<input type="submit" value="提交">
    	</form>
    </body>
    </html>

    test.php文件如下:

    <?php
    if($_FILES['pic']['error'] == 0){
    	// 1.限制文件上传的大小
    	$max_size = 2*1024*1024;	// 限制上传文件最大值为2M
    	if($_FILES['pic']['size'] > $max_size){
    		die('文件大小最大不能超过2M');
    	}
    	// 2.防止文件重名
    	$file_name = uniqid('si_', false);		// 文件名称
    	$file_suffix = strrchr($_FILES['pic']['name'], '.');	// 文件后缀
    	$file_upload_root_path = './uploads/';		// 文件上传根路径
    	// 3.按照年月日格式创建子目录
    	$file_upload_sub_path = date('Ymd') . '/';
    	if(!is_dir($file_upload_root_path . $file_upload_sub_path)){
    		mkdir($file_upload_root_path . $file_upload_sub_path, 0777, true);
    	}
    	$file = $file_upload_root_path . $file_upload_sub_path . $file_name . $file_suffix;	// 文件全名
    	// 4.限制用户上传的文件类型
    	$allow_type = ['image/png', 'image/gif', 'image/jpg', 'image/jpeg'];
    	if(!in_array($_FILES['pic']['type'], $allow_type)){
    		die('格式错误,请选择jpg|gif|png类型的图片');
    	}
    	$finfo = new finfo(FILEINFO_MIME_TYPE);
    	$file_type = $finfo->file($_FILES['pic']['tmp_name']);
    	if(!in_array($file_type, $allow_type)){
    		die('您上传的格式不正确');
    	}
    	// 5.执行上传操作
    	if(move_uploaded_file($_FILES['pic']['tmp_name'], $file)){
    		echo '上传成功';
    	}else{
    		echo '上传失败';
    	}
    }else{
    	echo '上传失败';
    }
  • 相关阅读:
    python基础学习-socket套接字的应用
    python基础学习-网络编程(二)
    python基础学习-网络编程(一)
    python基础学习-异常处理
    作业0313
    作业3.11
    作业 3.10
    作业03
    day64——orm单表操作/多表操作
    day63——CBV内部原理、过滤器、标签、inclusion_tag、模版的继承
  • 原文地址:https://www.cnblogs.com/falling-maple/p/9265472.html
Copyright © 2020-2023  润新知