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

web下载网站代码

WBOY
WBOYOriginal
2016-06-06 19:32:271651Durchsuche

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下载网站代码
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn