程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP解壓tar.gz格式文件的方法

PHP解壓tar.gz格式文件的方法

編輯:PHP綜合

本文實例講述了PHP解壓tar.gz格式文件的方法。分享給大家供大家參考,具體如下:

1、運用php自帶壓縮與歸檔擴展(phar)

$phar = new PharData('song.tar.gz');
//路徑 要解壓的文件 是否覆蓋
$phar->extractTo('c:/tmp', null, true);

2、首先需要安裝pear類管理工具

linux下

/usr/local/php/bin/pear install Archive_Tar

wamp默認沒有安裝pear,  go-pear.php  適合舊版本的 , php5.3 需要 下載 go-pear.phar

將下載的 文件放到 php目錄下(任意目錄下都可以) 執行 php go-pear.phar 命令,根據提示按enter即可

①、安裝

#這個類實際安裝pear時默認就會安裝
pear install archive_tar

②、

/**
原理:tar壓縮包前512字節有自己的固定格式,根據這512個字節可以獲取壓縮包的文件名,大小等信息
在配合 gzopen,gzread 便可以解壓gz格式
 */
$tar_object = new Archive_Tar("song.tar.gz");
$tar_object->extract('c:/tmp', true);

3、php調用外部命令來執行解壓

//必須等命令執行完成,腳本才會推出,popen命令並非異步去執行
error_reporting(E_ALL);
ini_set("display_errors", 1);
$handle = popen("tar -xzvf song.tar.gz 2>&1", 'r');
/*
while(!feof($handle)) {
set_time_limit(3);
  $buffer = fgets($handle);
  echo "$buffer\n";
  ob_flush();
  flush();
}*/
echo "start \n";
pclose($handle);
echo "end \n";

更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP操作zip文件及壓縮技巧總結》、《PHP基本語法入門教程》、《PHP錯誤與異常處理方法總結》及《php常用函數與技巧總結》

希望本文所述對大家PHP程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved