<?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("不是一个上传文件");
}
?>