php解壓縮zip和rar壓縮包文件的方法
項(xiàng)目涉及文檔處理,用戶上傳的包括 zip 和 rar 壓縮包,需要先將壓縮包解壓后再作處理。對(duì)于 zip 壓縮包,由于 php 自帶 zip 擴(kuò)展,可以直接解壓。
解壓zip壓縮包:
$file = "/opt/data/upload/testfile.zip"; $outPath = "/opt/data/upload/testfile"; $zip = new ZipArchive(); $openRes = $zip->open($file); if ($openRes === TRUE) { $zip->extractTo($outPath); $zip->close(); }
對(duì)于 rar 壓縮包,需要先為 php 安裝 rar 擴(kuò)展。
安裝rar擴(kuò)展:
wget http://pecl.php.net/get/rar-4.0.0.tgz gunzip rar-4.0.0.tgz tar -xvf rar-4.0.0.tar cd rar-4.0.0 phpize ./configure && make && make install # 報(bào)錯(cuò) configure: error: Cannot find php-config. Please use --with-php-config=PATH # 運(yùn)行./configure 時(shí)指定php-config路徑即可 ./configure --with-php-config=/usr/local/php/bin/php-config make && make install
配置rar擴(kuò)展:
# 新建 /usr/local/php/conf.d/rar.ini,內(nèi)容 extension=rar.so
重啟 php-fpm
,看一下 phpinfo() ;
可以看到已經(jīng)成功安裝了 rar ,可以來(lái)測(cè)試一下解壓 rar 文件。
解壓RAR壓縮包:
$file = "/opt/data/upload/testfile.zip"; $outPath = "/opt/data/upload/testfile"; $rar_file = rar_open($file); if ($rar_file) { $entries = rar_list($rar_file); foreach ($entries as $entry) { $entry->extract($outPath); } rar_close($rar_file); }
這樣就搞定用戶上傳的壓縮包解壓的問(wèn)題了。
總結(jié)
以上所述是小編給大家介紹的php解壓縮zip和rar壓縮包文件的方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
微信公眾號(hào)實(shí)現(xiàn)會(huì)員卡領(lǐng)取功能
這篇文章主要介紹了微信公眾號(hào)實(shí)現(xiàn)會(huì)員卡領(lǐng)取功能的相關(guān)資料,需要的朋友可以參考下2017-06-06Laravel接收前端ajax傳來(lái)的數(shù)據(jù)的實(shí)例代碼
本篇文章主要介紹了Laravel接收前端ajax傳來(lái)的數(shù)據(jù)的實(shí)例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-07-07Thinkphp 框架擴(kuò)展之標(biāo)簽庫(kù)驅(qū)動(dòng)原理與用法分析
這篇文章主要介紹了Thinkphp 框架擴(kuò)展之標(biāo)簽庫(kù)驅(qū)動(dòng),結(jié)合實(shí)例形式分析了Thinkphp標(biāo)簽庫(kù)驅(qū)動(dòng)擴(kuò)展相關(guān)概念、原理、用法及操作注意事項(xiàng),需要的朋友可以參考下2020-04-04PHP實(shí)現(xiàn)一個(gè)簡(jiǎn)單url路由功能實(shí)例
這篇文章主要介紹了PHP實(shí)現(xiàn)一個(gè)簡(jiǎn)單url路由功能實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2016-11-11PHP安裝threads多線程擴(kuò)展基礎(chǔ)教程
php5.3或以上,且為線程安全版本。apache和php使用的編譯器必須一致,通過(guò)phpinfo()查看Thread Safety為enabled則為線程安全版,通過(guò)phpinfo()查看Compiler項(xiàng)可以知道使用的編譯器,本文給大家介紹PHP安裝threads多線程擴(kuò)展基礎(chǔ)教程,需要的朋友參考下2015-11-11FleaPHP框架數(shù)據(jù)庫(kù)查詢條件($conditions)寫(xiě)法總結(jié)
這篇文章主要介紹了FleaPHP框架數(shù)據(jù)庫(kù)查詢條件($conditions)寫(xiě)法,結(jié)合實(shí)例形式總結(jié)分析了針對(duì)$conditions參數(shù)為整數(shù),字符串,數(shù)組等情況的使用方法及各種查詢技巧,需要的朋友可以參考下2016-03-03thinkPHP2.1自定義標(biāo)簽庫(kù)的導(dǎo)入方法詳解
這篇文章主要介紹了thinkPHP2.1自定義標(biāo)簽庫(kù)的導(dǎo)入方法,詳細(xì)分析了thinkPHP標(biāo)簽庫(kù)的定義、使用及自動(dòng)導(dǎo)入相關(guān)技巧,需要的朋友可以參考下2016-07-07YII2框架實(shí)現(xiàn)表單中上傳單個(gè)文件的方法示例
這篇文章主要介紹了YII2框架實(shí)現(xiàn)表單中上傳單個(gè)文件的方法,結(jié)合實(shí)例形式分析了YII2框架表單提交與文件上傳相關(guān)操作技巧,需要的朋友可以參考下2020-03-03