rar 文件头crc版本_php实现rar文件的读取和解压
PHP Rar Archiving 模塊 (php_rar) 是一個讀取和解壓rar文件的模塊,但不提供RAR壓縮(打包)的功能。
1.首先要到PECL的RAR頁面下載DLL. 根據自己的情況選擇下載對應版本的DLL.
PHP版本要求:php_rar模塊適用于php 5.2及以上, 不過對于windows系統,似乎只有php5.3 / 5.4對應的DLL下載。
2.下載到的是個zip包,將其中的php_rar.pdb和php_rar.dll兩個文件解壓到PHP安裝目錄下的ext子目錄中。
3.在php.ini中加入一行php_rar擴展引用聲明 extension=php_rar.dll
4.如果使用Apache服務器,就需要重啟Apache。IIS下以FastCGI模式加載的PHP則不需要進一步操作了
5.解壓縮zip文件 方法一
$zip = new ZipArchive();//新建一個ZipArchive的對象 if ($zip->open(讀取上傳文件路徑) === TRUE){$zip->extractTo(解壓文件路徑);//假設解壓縮到在當前路徑下images文件夾的子文件夾php$zip->close();//關閉處理的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環境插件
先到rar擴展的主頁https://pecl.php.net/package/rar因為服務器上運行的是php 7.2支持最新版本rar擴展,那就下載最新版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,如果存在,進入剛才解壓的目錄執行這個phpize
cd rar-4.0.0/www/server/php/72/bin/phpize在解壓目錄里執行phpize主要是為了偵測當前php運行環境,給rar源碼生成configure配置的相關文件,以便后期編譯需要。
運行configure ,注意后面的--with-php-config參數一定不能缺,這個的作用是關聯上當前需要關聯的php版本,尤其是在安裝多個不同版本php時。
./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"重啟一下相應版本的php7.2 fpm服務,或者干脆重啟一下服務器。
檢查一下php7.2是否加載rar擴展成功
/www/server/php/72/bin/php -m看到執行命令后返回的文字里面有rar,成功!
以上內容希望幫助到大家,很多PHPer在進階的時候總會遇到一些問題和瓶頸,業務代碼寫多了沒有方向感,不知道該從那里入手去提升,對此我整理了一些資料,包括但不限于:分布式架構、高可擴展、高性能、高并發、服務器性能調優、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql優化、shell腳本、Docker、微服務、Nginx等多個知識點高級進階干貨需要的可以免費分享給大家,需要戳這里PHP進階架構師>>>視頻、面試文檔免費獲取
或 者關注我每天分享技術文章
進階PHP架構師?www.zhihu.com總結
以上是生活随笔為你收集整理的rar 文件头crc版本_php实现rar文件的读取和解压的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql帐户权限replace_mys
- 下一篇: tftp c++ 上传_如何在 Fedo