PHP生成壓縮檔案開發例項

2022-07-13 07:06:09 字數 3066 閱讀 7103

大概需求:

細節需求:當前訂單號_年月日+時間.zip  例如:

1.生成壓縮檔案,壓縮檔案名格式:

2.壓縮檔案存放在根目錄 /upload/zipfile/年月/自定義的壓縮檔案名.zip

具體操作模式請見下面的**:

檔案路徑:

壓縮包檔案存放路徑:/upload/zipfile/

上傳的附件存放路徑:/upload/file/

1.基本配置檔案檔案 config.inc.php放在系統根目錄

define('sys_root', str_replace("\\", '/', dirname(__file__

)));

define('sys_upload', sys_root.'/upload/file');

define('sys_download', sys_root.'/upload/zipfile');

define('sys_win', strpos(strtoupper(php_os), 'win') !== false ? true: false

);define('sys_chmod', ('0777' && !sys_win) ? '0777' : 0);

2.壓縮包程式**檔案 getzip.php

header("content-type: text/html; charset=utf-8");

require_once '../config.inc.php'; //

載入配置路徑配置檔案

這裡是附件的檔案陣列

$ordernum = '888'; //

訂單號$downfilename = 'tieniu.zip'; //

$zipurl = create_zip($arrfiles, $ordernum); //

生成的壓縮檔案名詞

file_down($zipurl, $downfilename); //

/** 生成壓縮包檔名

* @param [string] $ordernum 訂單號

* @return [string] 返回帶有絕對路徑的訂單號的壓縮檔案名 */

function get_zipname($ordernum

) /*

* 按照特定需求打包壓縮包的目錄結構設定 */

function

pack_object()

/** 生成壓縮包

* @param [array] $arrfiles 帶有絕對路徑的檔案陣列

* @param [string] $ordernum 訂單號

* @return [string] 返回帶有絕對路徑的訂單號的壓縮檔案名 如如果失敗返回 false */

function create_zip($arrfiles, $ordernum

)

foreach ($arrfiles

as$path

) }

$zip->close();

return

$zipname;}

/** 處理檔案目錄

* @param [array] $arrfiles 帶有絕對路徑的檔案陣列

* @param [string] $dirpath 檔案路徑

* @return [string] 返回處理的檔案路徑,方便生成檔案目錄 */

function dir_path($dirpath

) /*

* 生成檔案目錄

* @param [string] $path 檔案路徑

* @return [string] 返回生成的檔案目錄結構 */

function dir_create($path

)

return

is_dir($path);}

/** 檔案copy

* @param [string] $from copy原始檔

* @param [string] $to copy檔案目的地

* @return [bool] 成功 ture 失敗 false */

function file_copy($from, $to

) else}/*

* @param [string] $file 檔案路徑 */

function file_down($file, $filename = '', $data = '')

else

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

);

if ($data

) else

exit;}

function file_ext($filename

) //

function listdir($start_dir = '.')

closedir($fh

); }

else

return

$files

;}

3.php程式生成壓縮檔案需要用到壓縮類:ziparchive

這個是php的擴充套件類,自php5.2版本以後就已經支援這個擴充套件,如果你在使用的時候出現錯誤,檢視下php.ini裡面的extension=php_zip.dll前面的分號有沒有去掉,然後再重啟apache這樣才能使用這個類庫。

PHP生成壓縮檔案例項

大概需求 細節需求 當前訂單號 年月日 時間.zip 例如 1.生成壓縮檔案,壓縮檔案名格式 2.壓縮檔案存放在根目錄 upload zipfile 年月 自定義的壓縮檔案名.zip 3.點選 壓縮包,系統開始對壓縮檔案打包,打包完成後自動開始 4.為了防止暴露壓縮包檔案路徑,需要對 的壓縮包檔名改...

php檔案上傳過濾後生成壓縮檔案

message.if ok false echo 處理表單提交 action isset post action post action file isset post file post file if file message true message false switch action e...

php壓縮解壓縮檔案

注 需要安裝zip擴充套件 壓縮單個檔案 method zip file param string filename 檔名 return boolean true false function zip file string filename zip new ziparchive zipname b...