通过php上传和下载rar/zip压缩文件

前端显示界面 

<html>
<head>
<meta charset="utf-8">
<title>压缩文件上传下载</title>
</head>
<body>
<form action="upload_file.php" method="post" enctype="multipart/form-data">
	<label for="file">文件名:</label>
	<input type="file" name="tp" id="file"><br>
	<input type="submit" name="submit" value="提交">
</form>
<a href="./upload/tp.zip" download="tp.zip">点击下载</a>
</body>
</html>

php处理过程

<?php
@header("content-type:text/html;charset=utf-8");
if(!empty($_FILES["tp"]["name"])){
		$path="./upload/"; //上传路径 
	 if(!file_exists($path)) {
		mkdir("$path", 0700); }
	 $tp = array("application/octet-stream","application/x-zip-compressed"); 
	 if(!in_array($_FILES["tp"]["type"],$tp)) {
		// var_dump($_FILES);
		echo "<script>alert('文件格式错误!');history.go(-1);</script>"; 
		exit(); 
	}
	$filetype = $_FILES['tp']['type']; 
	 if($filetype == 'application/octet-stream'){ 
		$type = '.rar'; 
		}else{
		$type = '.zip'; 
		}
	if($_FILES["tp"]["name"]){
		
		$file1 = $path."tp".$type; //完整路径 
		$tp = "tp".$type; //名称 
		$flag1=1; 
		}
	if($flag1) $result1=move_uploaded_file($_FILES["tp"]["tmp_name"],$file1); 
	}else{
	$tp=null;
	}
?>

如果不知道类型,可以打印$_FILES 查看文件类型(type),然后再具体设置

posted @   JackieDYH  阅读(26)  评论(0编辑  收藏  举报  
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示