程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP實例代碼分析:將文件夾壓縮成ZIP

PHP實例代碼分析:將文件夾壓縮成ZIP

編輯:關於PHP編程

php中生成zip其實很簡單,只要下面2步就能完成。

1.請先下載我准備好的zip.php工具類,下載後解壓,將裡面的文件放入對應的目錄中,我是放在虛擬目錄下的include文件夾中。

2.在你的php文件中加入下面代碼即可

require_once "./include/zip.php";

$zip = new PHPZip();
//$zip -> createZip("要壓縮的文件夾目錄地址", "壓縮後的文件名.zip");   //只生成不自動下載
$zip -> downloadZip("要壓縮的文件夾目錄地址", "壓縮後的文件名.zip");  //自動下載

實例:可以參考下面的偽代碼來看一個具體的使用場景:

Copy to ClipboardLiehuo.Net Codes引用的內容:[www.bkjia.com] require_once "./include/zip.php";

if (!$download) {
exit();
}
set_time_limit(60);

$tmpManager = new TmpManager(); //假設我們有一個類來完成後面的操作

$tempfolder = array();
$tempfile = array();
//假設我們是通過在頁面上選擇checkbox來下載已選的文件夾或文件,並一同打包
for($i = 0;$i < $checkboxnum;$i++) {
$value = ${"select".$i};
if ($value != '') {
$this_type = substr($value, 0, 1);
$this_id = substr($value, 1);
//將文件夾和文件的情況分開處理
if ($this_type == 'd') {
$tempfolder[] = $this_id;
}
elseif ($this_type == 'f') {
$tempfile[] = $this_id;
}
}
}

@mkdir($tempdir);

$curtempdir = "$tempdir/".$userid; //不同用戶在不同的臨時文件夾下操作

if (file_exists($curtempdir)) {
$tmpManager->DeleteDir($curtempdir); //刪除舊的文件夾
}

if (sizeof($tempfolder) > 0 || sizeof($tempfile) > 0) {
mkdir($curtempdir, 0777); //如果有要打包的文件貨文件夾,重新創建文件夾
}

if (sizeof($tempfile) > 0) {
$tmpManager->CopyFile($tempfile,$curtempdir); //將要下載的文件copy到創建的文件夾
}

if (sizeof($tempfolder) > 0) {
$tmpManager->CopyFolder($tempfolder,$curtempdir); //將要下載的文件夾copy到創建的文件夾
}

$zip = new PHPZip();
$zip -> downloadZip($curtempdir, "file_".date('Ymd').".zip"); //打包並下載

轉自:http://www.cnblogs.com/xiaosuo/

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved