通过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 @ 2019-12-09 14:38  JackieDYH  阅读(18)  评论(0编辑  收藏  举报  来源