jar檔案打包 php zip打包下載檔案

來源:互聯網
上載者:User
 
  1. 將檔案打包成zip格式
  2. 下載檔案的功能

要點解析:

  1. 這裡我採用的是php內建的ZipArchive類

    a) 我們只需要new一個ZipArchive對象,然後使用open方法建立一個zip檔案,接著使用addFile方法,將要打包的檔案寫入剛剛建立的zip檔案中,最好還得記得關閉該對象。

    b) 注意點:使用open方法的時候,第二個參數$flags是可選的,$flags用來指定對開啟的zip檔案的處理方式,共有四種情況

  i. ZIPARCHIVE::OVERWRITE 總是建立一個新的檔案,如果指定的zip檔案存在,則會覆蓋掉

ii. ZIPARCHIVE::CREATE 如果指定的zip檔案不存在,則建立一個

iii. ZIPARCHIVE::EXCL 如果指定的zip檔案存在,則會報錯

iv. ZIPARCHIVE::CHECKCON

$nid = intval($this->_request->getParam('nid'));$filelist = $this->model->getOverenter($nid);foreach ($filelist as $f) {    $row['file'] = ROOT.'/public/upload/logo/'.$f['ne_file'];$row['name'] = $f['es_name'];$ext = explode('.',$f['ne_file']);$row['ext'] = $ext[1];$fileNameArr[]=$row;}$name = date('YmdHis').'.zip';$filename = ROOT."/public/upload/".$name; // 最終產生的檔案名稱(含路徑)$zip = new ZipArchive ();if (!file_exists($filename)) {    $zip->open($filename, ZipArchive::CREATE);//建立一個空的zip檔案for ($i = 0; $i < count($fileNameArr); $i++) {        $zip->addFile($fileNameArr[$i]['file'], iconv( 'UTF-8','GB2312', $fileNameArr[$i]['name']).'.'.$fileNameArr[$i]['ext']);}    $zip->close();//開啟檔案if(file_exists($filename)){        $file = fopen($filename,"r");Header("Content-type: application/octet-stream");Header("Accept-Ranges: bytes");Header("Accept-Length: ".filesize($filename));Header("Content-Disposition: attachment; filename=".$name);echo fread($file, filesize($filename));$buffer=1024;while (!feof($file)) {            $file_data=fread($file,$buffer);echo $file_data;}        fclose($file);}else {        echo "";}}unlink($filename);exit();

以上就介紹了jar檔案打包 php zip打包下載檔案,包括了jar檔案打包方面的內容,希望對PHP教程有興趣的朋友有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.