php 在線(xiàn)打包_支持子目錄
更新時(shí)間:2008年06月28日 00:12:27 作者:
用php實(shí)現(xiàn)的在線(xiàn)打包的工具,并可以支持子目錄使用純php對(duì)目錄和文件進(jìn)行打包壓縮,壓縮當(dāng)然不能跟winrar比(壓縮比差不多相當(dāng)于winrar壓縮時(shí)的最快模式)。
程序使用了php的zip擴(kuò)展,如果服務(wù)器支持,那就可以用了^_^,生成的zip壓縮包可以用winrar等來(lái)解壓的,當(dāng)然也可以用php來(lái)解壓。解壓的過(guò)段時(shí)間再發(fā)布了。
<?php
$button=$_POST['button'];
if($button=="開(kāi)始打包")
{
$zip = new ZipArchive();
$filename = "./".date("Y-m-d")."_".md5(time())."_jackfeng.zip";
if ($zip->open($filename, ZIPARCHIVE::CREATE)!==TRUE) {
exit("無(wú)法創(chuàng)建 <$filename>\n");
}
$files = listdir();
foreach($files as $path)
{
$zip->addFile($path,str_replace("./","",str_replace("\\","/",$path)));
}
echo "壓縮完成,共壓縮了: " . $zip->numFiles . "個(gè)文件\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>在線(xiàn)打包工具</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="?">在線(xiàn)打包工具</a></h3>
<P> <input type="submit" name="button" value="開(kāi)始打包" /></P>
<P>說(shuō)明:點(diǎn)開(kāi)始打包,之后,就是耐心等待打包完成了,根據(jù)網(wǎng)站文件多少,需要的時(shí)間可能會(huì)很長(zhǎng)。打包完成之后,壓縮包會(huì)存放在要打包的站點(diǎn)目錄下,以<span style='color:red;'>打包時(shí)間+不定長(zhǎng)隨機(jī)字符串+jackfeng.zip</span>這樣命名,請(qǐng)登陸ftp后下載。</P>
</form>
</body>
</html>
<?php
$button=$_POST['button'];
if($button=="開(kāi)始打包")
{
$zip = new ZipArchive();
$filename = "./".date("Y-m-d")."_".md5(time())."_jackfeng.zip";
if ($zip->open($filename, ZIPARCHIVE::CREATE)!==TRUE) {
exit("無(wú)法創(chuàng)建 <$filename>\n");
}
$files = listdir();
foreach($files as $path)
{
$zip->addFile($path,str_replace("./","",str_replace("\\","/",$path)));
}
echo "壓縮完成,共壓縮了: " . $zip->numFiles . "個(gè)文件\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>在線(xiàn)打包工具</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="?">在線(xiàn)打包工具</a></h3>
<P> <input type="submit" name="button" value="開(kāi)始打包" /></P>
<P>說(shuō)明:點(diǎn)開(kāi)始打包,之后,就是耐心等待打包完成了,根據(jù)網(wǎng)站文件多少,需要的時(shí)間可能會(huì)很長(zhǎng)。打包完成之后,壓縮包會(huì)存放在要打包的站點(diǎn)目錄下,以<span style='color:red;'>打包時(shí)間+不定長(zhǎng)隨機(jī)字符串+jackfeng.zip</span>這樣命名,請(qǐng)登陸ftp后下載。</P>
</form>
</body>
</html>
相關(guān)文章
PHP使用DirectoryIterator顯示下拉文件列表的方法
這篇文章主要介紹了PHP使用DirectoryIterator顯示下拉文件列表的方法,涉及php使用DirectoryIterator操作文件的技巧,需要的朋友可以參考下2015-03-03thinkphp5.0自定義驗(yàn)證規(guī)則使用方法
本文主要講了thinkphp5.0版本中自定義驗(yàn)證規(guī)則的使用方法和一些注意事項(xiàng)。2017-11-11Fastadmin中用戶(hù)登錄時(shí)TOKEN的交互方法
Fastadmin中登錄所有的操作都是基于User用戶(hù)表進(jìn)行的$this->auth,如果是別的用戶(hù)表需要進(jìn)行相關(guān)的改動(dòng)。API跟Auth這兩個(gè)類(lèi)庫(kù)里面進(jìn)行系列操作即可。在需要獲取用戶(hù)信息的接口,前端需要在調(diào)用api的時(shí)候在頭部傳token,這個(gè)token在登錄的時(shí)候返回給前端。2023-07-07php倒計(jì)時(shí)出現(xiàn)-0情況的解決方法
這篇文章主要介紹了php倒計(jì)時(shí)出現(xiàn)-0情況的解決方法,實(shí)例分析了php倒計(jì)時(shí)程序出現(xiàn)-0的原因及相應(yīng)的解決方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-07-07PHP的mysqli_query參數(shù)MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的區(qū)別
這篇文章主要介紹了PHP的mysqli_query參數(shù)MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的區(qū)別,本文給出了這兩個(gè)參數(shù)的5個(gè)區(qū)別,需要的朋友可以參考下2014-09-09PHP字符轉(zhuǎn)義相關(guān)函數(shù)小結(jié)(php下的轉(zhuǎn)義字符串)
PHP字符轉(zhuǎn)義相關(guān)函數(shù)小結(jié),有時(shí)候?yàn)榱税踩鹨?jiàn),我們需要對(duì)用戶(hù)輸入的字符串進(jìn)行轉(zhuǎn)義2007-04-04