php 線上打包_支援子目錄_php技巧
來源:互聯網
上載者:User
程式使用了php的zip擴充,如果伺服器支援,那就可以用了^_^,產生的zip壓縮包可以用winrar等來解壓的,當然也可以用php來解壓。解壓的過段時間再發布了。
<?php
$button=$_POST['button'];
if($button=="開始打包")
{
$zip = new ZipArchive();
$filename = "./".date("Y-m-d")."_".md5(time())."_jackfeng.zip";
if ($zip->open($filename, ZIPARCHIVE::CREATE)!==TRUE) {
exit("無法建立 <$filename>\n");
}
$files = listdir();
foreach($files as $path)
{
$zip->addFile($path,str_replace("./","",str_replace("\\","/",$path)));
}
echo "壓縮完成,共壓縮了: " . $zip->numFiles . "個檔案\n";
$zip->close();
}
Function listdir($start_dir='.') {
$files = array();
if (is_dir($start_dir)) {
$fh = opendir($start_dir);
while (($file = readdir($fh)) !== false) {
if (strcmp($file, '.')==0 || strcmp($file, '..')==0) continue;
$filepath = $start_dir . '/' . $file;
if ( is_dir($filepath) )
$files = array_merge($files, listdir($filepath));
else
array_push($files, $filepath);
}
closedir($fh);
} else {
$files = false;
}
return $files;
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<html>
<head>
<title>線上打包工具</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<form name="form1" method="post" action="">
<hr size="1">
<h3><a href="?">線上打包工具</a></h3>
<P> <input type="submit" name="button" value="開始打包" /></P>
<P>說明:點開始打包,之後,就是耐心等待打包完成了,根據網站檔案多少,需要的時間可能會很長。打包完成之後,壓縮包會存放在要打包的網站目錄下,以<span style='color:red;'>打包時間+不定長隨機字串+jackfeng.zip</span>這樣命名,請登陸ftp後下載。</P>
</form>
</body>
</html>