rar 文件头crc版本_php实现rar文件的读取和解压
PHP Rar Archiving 模塊 (php_rar) 是一個(gè)讀取和解壓rar文件的模塊,但不提供RAR壓縮(打包)的功能。
1.首先要到PECL的RAR頁面下載DLL. 根據(jù)自己的情況選擇下載對應(yīng)版本的DLL.
PHP版本要求:php_rar模塊適用于php 5.2及以上, 不過對于windows系統(tǒng),似乎只有php5.3 / 5.4對應(yīng)的DLL下載。
2.下載到的是個(gè)zip包,將其中的php_rar.pdb和php_rar.dll兩個(gè)文件解壓到PHP安裝目錄下的ext子目錄中。
3.在php.ini中加入一行php_rar擴(kuò)展引用聲明 extension=php_rar.dll
4.如果使用Apache服務(wù)器,就需要重啟Apache。IIS下以FastCGI模式加載的PHP則不需要進(jìn)一步操作了
5.解壓縮zip文件 方法一
$zip = new ZipArchive();//新建一個(gè)ZipArchive的對象 if ($zip->open(讀取上傳文件路徑) === TRUE){$zip->extractTo(解壓文件路徑);//假設(shè)解壓縮到在當(dāng)前路徑下images文件夾的子文件夾php$zip->close();//關(guān)閉處理的zip文件 }6.解壓縮zip文件 方法二
$archive = new PclZip(讀取上傳文件路徑); if ($archive->extract(PCLZIP_OPT_PATH, 解壓文件路徑)){ /*data換成其他路徑即可*///die("Error : ".$archive->errorInfo(true)); } try {$folder_list = my_scandir(解壓文件路徑); } catch (Exception $e) { }7.解壓縮rar文件$rar_file = rar_open(讀取上傳文件路徑) or die("Failed to open Rar archive"); $entries = rar_list($rar_file); foreach ($entries as $entry) {$entry->extract(解壓文件路徑); /*/dir/extract/to/換成其他路徑即可*/ } rar_close($rar_file);安裝rar Linux環(huán)境插件
先到rar擴(kuò)展的主頁https://pecl.php.net/package/rar因?yàn)榉?wù)器上運(yùn)行的是php 7.2支持最新版本rar擴(kuò)展,那就下載最新版4.0.0。
wget https://pecl.php.net/get/rar-4.0.0.tgz然后解壓
gunzip rar-4.0.0.tgztar -xvf rar-4.0.0.tar查看寶塔面板php7.2安裝路徑下的是否存在/www/server/php/72/bin/phpize,如果存在,進(jìn)入剛才解壓的目錄執(zhí)行這個(gè)phpize
cd rar-4.0.0/www/server/php/72/bin/phpize在解壓目錄里執(zhí)行phpize主要是為了偵測當(dāng)前php運(yùn)行環(huán)境,給rar源碼生成configure配置的相關(guān)文件,以便后期編譯需要。
運(yùn)行configure ,注意后面的--with-php-config參數(shù)一定不能缺,這個(gè)的作用是關(guān)聯(lián)上當(dāng)前需要關(guān)聯(lián)的php版本,尤其是在安裝多個(gè)不同版本php時(shí)。
./configure --with-php-config=/www/server/php/72/bin/php-config編譯源碼
make && make install編譯完成在最后會提示生成的rar.so所在的路徑。
Build complete.Don't forget to run 'make test'.Installing shared extensions: /www/server/php/72/lib/php/extensions/no-debug-non-zts-20170718/在php7.2的配置文件php.ini最后一行添加
[rar] extension="/www/server/php/72/lib/php/extensions/no-debug-non-zts-20170718/rar.so"重啟一下相應(yīng)版本的php7.2 fpm服務(wù),或者干脆重啟一下服務(wù)器。
檢查一下php7.2是否加載rar擴(kuò)展成功
/www/server/php/72/bin/php -m看到執(zhí)行命令后返回的文字里面有rar,成功!
以上內(nèi)容希望幫助到大家,很多PHPer在進(jìn)階的時(shí)候總會遇到一些問題和瓶頸,業(yè)務(wù)代碼寫多了沒有方向感,不知道該從那里入手去提升,對此我整理了一些資料,包括但不限于:分布式架構(gòu)、高可擴(kuò)展、高性能、高并發(fā)、服務(wù)器性能調(diào)優(yōu)、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql優(yōu)化、shell腳本、Docker、微服務(wù)、Nginx等多個(gè)知識點(diǎn)高級進(jìn)階干貨需要的可以免費(fèi)分享給大家,需要戳這里PHP進(jìn)階架構(gòu)師>>>視頻、面試文檔免費(fèi)獲取
或 者關(guān)注我每天分享技術(shù)文章
進(jìn)階PHP架構(gòu)師?www.zhihu.com總結(jié)
以上是生活随笔為你收集整理的rar 文件头crc版本_php实现rar文件的读取和解压的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql帐户权限replace_mys
- 下一篇: tftp c++ 上传_如何在 Fedo