PHP之上传文件upload.php

<?php
    print_r($_FILES);
	//获取上传文件信息
	$upFile=$_FILES['myfile'];
	$path="uploads/";
	$typeList=array("image/jpg","image/png","text/html","application/zip"); //定义允许的类型
	if($upFile["error"]>0){
		switch ($upFile["error"]){//获取错误信息
		    case 1:
				$info="上传的文件超过了php.ini 中 upload_max_filesize 选项限制的值";
		        break;
		    case 2:
				$info="上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值";	
		        break;
		    case 3:
				$info="文件并未完全上传,请再次尝试!文件只有部分被上传";
		        break;
		    case 4:
				$info="未选择上传文件,没有文件被上传";
		        break;
			case 6:
				$info="找不到临时文件夹";
		        break;
            case 7:			
				$info="文件写入失败";
		        break;
            case 8:
				$info="由于PHP的扩展程序中断了文件上传";
		        break;
		}die("上传文件错误,原因:" .$info);
	}
	//过滤上传文件大小
	if($upFile["size"]>2*1024*1024){
		die("上传文件大小超出限制");
	}
	//过滤文件类型
	if(!in_array($upFile["type"], $typeList)){
		die("上传文件类型非法" .$upFile["type"]);
	}
	//上传文件后对文件名进行定义
	$fileinfo=pathinfo($upFile["name"]);//解析上传文件名字
	do{
		$newfile=date("YmdHis").rand(1000, 9999).".".$fileinfo["extension"];
	}while(file_exists($path.$newfile));
	//判断是否是一个上传的文件
	if(is_uploaded_file($upFile["tmp_name"])){
		//执行文件上传
		if(move_uploaded_file($upFile["tmp_name"], $path.$newfile)){
			echo "文件上传成功";
		}else{
			die("上传文件失败");
		}
	}else{
		die("不是一个上传文件");
	}
?>

  

DO What You Want !
原文地址:https://www.cnblogs.com/liumengdie/p/7838714.html