php之上传小案例,根据时间:月日分创建目录并随机生成文件名

<?php
/*
接收文件,并分目录存储,生成随机文件名
1.根据时间戳,并按一定规则创建目录
2.获取文件名的后缀名
3.判断大小
*/


//根据月日分计算并创建目录
function mk_dir(){
	$dir = date('md/i', time());
	if(is_dir('./' .$dir)){
		return $dir;
	}else{
		mkdir('./'.$dir,0777,true);
		return $dir;
	}
}
//获取文件后缀
function getExt($file) {
	$tmp = explode('.',$file);
	return end($tmp);
}
//随机生成移动后的文件名
function randName() {
	$str = 'abcdefghijkmnpqrstwxyz23456789';
	return substr(str_shuffle($str),0,6);
}
//判断错误代码,=0则上传成功,!=0则上传失败
if($_FILES['pic']['error'] !=0){
	echo "上传失败";
} 

//处理上传过程

$pic = $_FILES['pic'];

//拼接文件路径
$path = './' .mk_dir().'/'.randName(). '.' .getExt($pic['name']);

//移动
if(move_uploaded_file($pic['tmp_name'],$path)) {
	echo '上传成功';
} else{
	echo "上传失败";
}

?>
原文地址:https://www.cnblogs.com/wang1204/p/5569970.html