日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

php获取压缩文件列表,php获取所有文件并压缩

發(fā)布時(shí)間:2024/10/8 php 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php获取压缩文件列表,php获取所有文件并压缩 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

/*

* 壓縮文件

* */

function zip($files){

$zipName = 'download.zip';

$zip = new \ZipArchive;//使用本類,linux需開啟zlib,windows需取消php_zip.dll前的注釋

/*

* 通過ZipArchive的對象處理zip文件

* $zip->open這個(gè)方法如果對zip文件對象操作成功,$zip->open這個(gè)方法會(huì)返回TRUE

* $zip->open這個(gè)方法第一個(gè)參數(shù)表示處理的zip文件名。

* 這里重點(diǎn)說下第二個(gè)參數(shù),它表示處理模式

* ZipArchive::OVERWRITE 總是以一個(gè)新的壓縮包開始,此模式下如果已經(jīng)存在則會(huì)被覆蓋。

* ZIPARCHIVE::CREATE 如果不存在則創(chuàng)建一個(gè)zip壓縮包,若存在系統(tǒng)就會(huì)往原來的zip文件里添加內(nèi)容。

*

* 這里不得不說一個(gè)大坑。

* 我的應(yīng)用場景是需要每次都是創(chuàng)建一個(gè)新的壓縮包,如果之前存在,則直接覆蓋,不要追加

* so,根據(jù)官方文檔和參考其他代碼,$zip->open的第二個(gè)參數(shù)我應(yīng)該用 ZipArchive::OVERWRITE

* 問題來了,當(dāng)這個(gè)壓縮包不存在的時(shí)候,會(huì)報(bào)錯(cuò):ZipArchive::addFile(): Invalid or uninitialized Zip object

* 也就是說,通過我的測試發(fā)現(xiàn),ZipArchive::OVERWRITE 不會(huì)新建,只有當(dāng)前存在這個(gè)壓縮包的時(shí)候,它才有效

* 所以我的解決方案是 $zip->open($zipName, \ZIPARCHIVE::OVERWRITE | \ZIPARCHIVE::CREATE)

*

* 以上總結(jié)基于我當(dāng)前的運(yùn)行環(huán)境來說

* */

if ($zip->open($zipName, \ZIPARCHIVE::OVERWRITE | \ZIPARCHIVE::CREATE)!==TRUE) {

exit('無法打開文件,或者文件創(chuàng)建失敗');

}

foreach($files as $val){

//$attachfile = $attachmentDir . $val['filepath']; //獲取原始文件路徑

if(file_exists($val)){

//addFile函數(shù)首個(gè)參數(shù)如果帶有路徑,則壓縮的文件里包含的是帶有路徑的文件壓縮

//若不希望帶有路徑,則需要該函數(shù)的第二個(gè)參數(shù)

$zip->addFile($val, basename($val));//第二個(gè)參數(shù)是放在壓縮包中的文件名稱,如果文件可能會(huì)有重復(fù),就需要注意一下

}

}

$zip->close();//關(guān)閉

if(!file_exists($zipName)){

exit("無法找到文件"); //即使創(chuàng)建,仍有可能失敗

}

return '打包成功';

}

/*

* 獲取文件的路徑及名稱

* */

function traverse($path)

{

global $filePath;//得到外部定義的數(shù)組

$current_dir = opendir($path); //opendir()返回一個(gè)目錄句柄,失敗返回false

while (($file = readdir($current_dir)) !== false) { //readdir()返回打開目錄句柄中的一個(gè)條目

$sub_dir = $path . DIRECTORY_SEPARATOR . $file; //構(gòu)建子目錄路徑

if ($file == '.' || $file == '..') {

continue;

} else if (is_dir($sub_dir)) { //如果是目錄,進(jìn)行遞歸

traverse($sub_dir); //嵌套遍歷子文件夾

} else { //如果是文件,直接輸出路徑和文件名

$filePath[$path . '/' . $file] = $path . '/' . $file;//把文件路徑賦值給數(shù)組

}

}

return $filePath;

}

總結(jié)

以上是生活随笔為你收集整理的php获取压缩文件列表,php获取所有文件并压缩的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲88 | 日韩av成人 | www.日韩在线观看 | 亚洲精品视 | 亚洲乱码视频在线观看 | 六月丁香综合网 | 18禁一区二区 | 毛片久久久 | 欧美一级片免费在线观看 | 免费看黄在线 | 污污网站在线 | 中文在线最新版天堂8 | 国产精品一区二区免费在线观看 | 一卡二卡久久 | 国产女人叫床高潮大片免费 | 日韩在线国产 | 丝袜+亚洲+另类+欧美+变态 | 性色一区 | 欧美日韩aaa | 久久福利国产 | 久久无码人妻丰满熟妇区毛片 | 精品欧美在线观看 | 国产精品夜夜嗨 | 国产亚洲精品久久久久久无几年桃 | 国产精彩视频一区二区 | 91亚洲精品一区 | 国产又爽又黄免费软件 | 偷偷在线观看免费高清av | 欧洲一级黄 | 4438国产精品一区二区 | 人人91| 女人裸体无遮挡 | 我们的生活第五季在线观看免费 | 国产激情免费 | 久久成人精品 | 国产强被迫伦姧在线观看无码 | 亚洲美女一区 | 麻豆国产视频 | 美女无遮挡免费网站 | 少妇一级片 | 亚洲视频在线播放 | 日韩女女同性aa女同 | 国产在线视频资源 | 欧美激情一区二区视频 | 中国黄色片视频 | jizz网站| 天堂a√在线 | 欧美精品四区 | 尤物视频在线观看国产性感 | 在厨房拨开内裤进入毛片 | 青草精品视频 | 国产在线麻豆精品观看 | 超碰在线成人 | 午夜精品国产 | 野外做受又硬又粗又大视频√ | 国产成人亚洲综合a∨婷婷 台湾a级片 | 日本成人中文字幕 | 男人的天堂a在线 | 精品国产一区二区三区久久 | 日本在线有码 | 丁香婷婷视频 | 日韩 中文字幕 | 美女光屁股视频 | 久久911| 67194成人在线| 日韩在线免费视频观看 | 国产欧美精品 | 国产精品27p | 亚洲精品第一页 | 成 人 免费 黄 色 | 太久av| 三上悠亚久久精品 | 亚洲免费自拍 | 久久99伊人 | 可以免费观看的av网站 | 欧美999| 中文字幕一区二区三区夫目前犯 | 18深夜在线观看免费视频 | 亚洲精品免费在线观看 | 久久久久免费精品 | 日韩欧美字幕 | 免费看片视频 | 精品一区二区在线看 | yw在线观看 | 一区二区日韩国产 | 久久久免费高清视频 | 国产欧美日韩 | 男男肉耽高h彩漫 | 国产精品一二三区在线观看 | 亚洲精品第二页 | 久久亚洲精品小早川怜子 | 在线黄色观看 | 蜜臀尤物一区二区三区直播 | 在线观看av免费 | 狠狠综合久久 | 又色又爽又黄18网站 | 久久久国产一区 | 国产成人 综合 亚洲 | 精品久久BBBBB精品人妻 |