Home >php教程 >php手册 >web下载网站代码

web下载网站代码

WBOY
WBOYOriginal
2016-06-06 19:32:271648browse

1.打包代码,并直接通过浏览器下载 2.解压zip文件到服务器 PHP ?php/** * @author MarkZhao(zhaody901#126.com) */$dir = dirname(__FILE__).'/';// zip and download// zip.php?type=zipdir=subdir// unzip deflate way zipped zip file// zip.php?type=unzip

1. 打包代码, 并直接通过浏览器下载
2. 解压zip文件到服务器
PHP
<?php
/**
 * @author MarkZhao(zhaody901#126.com)
 */
$dir = dirname(__FILE__).'/';
// zip and download
// zip.php?type=zip&dir=subdir

// unzip deflate way zipped zip file
// zip.php?type=unzip&name=deflate

$type = $_GET['type'];
$type or exit('die no type to do!');
$name = isset($_GET['name']) ? $_GET['name'].'.zip' : 'zip.zip';
$subdir = $_GET['dir'];
$subdir or die('no sub dir to zip');
set_time_limit(0);
if ($type=='zip') {
	$zip = new ZipArchive();
	if ($zip->open($name, ZipArchive::CREATE) === TRUE) {
		$files = map($dir.$subdir);
		foreach ($files as $file) {
			$dir  = str_replace('\\', '/', $dir);
			$file = str_replace('\\', '/', $file);
			$zip->addFile($file, '_ROOT_/' . str_replace($dir, '', $file));
		}
		$zip->close();
		down($dir.$name);
		echo 'ok';
	} else {
		echo 'failed';
	}
} else if ($type=='unzip') {

	$zip = new ZipArchive();
	if ($zip->open($name) === TRUE) {
		$zip->extractTo(dirname(__FILE__).'/');
		$zip->close();
		echo 'ok';
	} else {
		echo 'failed';
	}
}


function map($directory) {
	$files = array();
	if (file_exists($directory) && is_dir($directory)) {
		foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory)) as $file) {
			$files[] = $file->getRealPath();
		}
	}
	return $files;
}

function down($file) {
	$filename = $filename ? $filename : basename($file);
	$filesize = filesize($file);
	ob_end_clean();
	@set_time_limit(0);
	if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false) {
		header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
		header('Pragma: public');
	} else {
		header('Pragma: no-cache');
	}
	header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');
	header('Content-Encoding: none');
	header('Content-Length: ' . $filesize);
	header('Content-Disposition: attachment; filename=' . $filename);
	header('Content-Type: ' . $filetype);
	readfile($file);
	exit;
}
web下载网站代码
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn