php文件上传函数封装

 $maxsize) {
		//超出用户了自己规定的大小
		$error = '上传错误,超出了文件限制的大小!';
		return false;
	}
	//判断文件的类型
	if (!in_array($file['type'], $allow)) {
		//非法的文件类型
		$error = '上传的文件的类型不正确,允许的类型有:'.implode(',', $allow);
		return false;
	}

	//移动临时文件
	//指定文件上传后保存的路径
	$newname = randName($file['name']); //得到文件新的名字
	//判断$path 目录是否存在 不存在则创建
	if (!file_exists($path)) {
		mkdir($path, 0777, true);
	}
	$target = $path . '/' . $newname;
	$result = move_uploaded_file($file['tmp_name'],  $target);
	if ($result) {
		//上传成功
		return $newname;
	}else{
		//上传失败
		$error = '发生未知错误,上传失败';
		return false;
	}
}

/**
 *生成一个随机名字的函数 文件名=当前的时间 + 随机的几位数字
 *@param string $filename 文件的原始名字
 *@return string $newname 文件的新名字
 *
 */
function randName($filename){
	//生成文件名的时间部分
	$newname = date('YmdHis');
	//加上随机的6位数
	$str = '0123456789';
	for ($i=0; $i < 6; $i++) { 
		$newname .= $str[mt_rand(0, strlen($str)-1)];
	}
	//加上文件的后缀名
	$newname .= strrchr($filename, '.');
	return $newname;
}

HTML上传代码




	文件上传
	


	

你可能感兴趣的:(php学习记录)