For investors
股價:
5.36 美元 %For investors
股價:
5.36 美元 %認真做教育 專心促就業(yè)
如果你曾為你的UNIX系統(tǒng)下載過widget,那么你肯定遇到過TAR壓縮文件。在UNIX系統(tǒng)中磁帶歸檔文件格式常用于打包多個文件,以便于分發(fā)。
這種格式的流行不僅由于在所有UNIX系統(tǒng)中都存在該格式的創(chuàng)建工具,還因為在實際應用中,它便于保存歸檔文件的目錄結構、許可信息、用戶和組信息等。
PHP(PHP培訓 php教程 )中有大量的內建函數(shù)和可連接的擴展庫,可用于幾乎所有文件格式。特別是它可以通過PEAR的Archive_Tar類讀取和創(chuàng)建TAR文檔。在本文中,我們將向你說明這個類的行為,并演示開發(fā)人員是如何利用它動態(tài)地創(chuàng)建,編輯和顯示TAR文檔。
在這里我將假設你有一個工作數(shù)據(jù)庫和安裝了PHP,并且正確的安裝了PEAR的Archive_Tar類。
注:你可以直接從網上安裝PEAR 的Archive_Tar類包,或者從網上下載安裝。
創(chuàng)建TAR文檔
讓我們從一個簡單的例子開始:動態(tài)創(chuàng)建包含幾個文件的TAR文檔。使用下面的腳本:
列表 A
include ('Archive/Tar.php');// import class
$obj = new Archive_Tar('dummy.tar'); // name of archive
$files = array('mystuff/ad.gif',
'mystuff/alcon.doc',
'mystuff/alcon.xls'); // files to store in archive
if ($obj->create($files)) {
echo 'Created successfully!';
} else {
echo 'Error in file creation';
}
>
這個腳本相當簡單,但是還是值得具體看一下:
首先,創(chuàng)建Archive_Tar類的一個實例,初始化創(chuàng)建文檔的路徑和文件名。在本例中,文件名是dummy.tar,存于當前目錄。
其次,列出歸檔的所有文件,包括它們的磁盤地址,存于一個PHP數(shù)組中。腳本(更準確的說是運行腳本的用戶)必須擁有訪問這些磁盤地址的許可權,否則文檔創(chuàng)建過程就會失敗。
最后,creat()方法將所有的文件壓縮到單個TAR文檔。這個方法接受輸入的文件名數(shù)組,返回一個布爾值表明文檔是否成功創(chuàng)建。記住腳本必須擁有將文件寫入命名磁盤地址的許可權,否則,creat()方法就無法使用,文檔創(chuàng)建就會失敗。
應用上面例子中的腳本,修改$files數(shù)組的內容以反映你的本地系統(tǒng)配置,在命令行或者瀏覽器中試著執(zhí)行它,如果一切正常的話,腳本將會查找并讀取這些文件到一個命名為dummy.tar的TAR文檔中。
查看TAR文檔內容
如何查看已經存在的TAR文件的內部信息呢?Archive_Tar類有一個listContent()方法,該方法可以查看一個TAR包中的每個組件的詳細信息。列表B顯示了如何使用它:
列表 B
include ('Archive/Tar.php');// import class
$obj = new Archive_Tar('dummy.tar'); // name of archive
$files = $obj->listContent();// array of file information
foreach ($files as $f) {
foreach ($f as $k => $v) {
echo "$k: $vn";
}
echo "n";
}
>
listContent()方法的輸出是一個結構化數(shù)組,每個數(shù)組元素代表文檔中的一個文件。典型的是,每個元素有相應文件的名字信息,它的許可模式,所有者和組用戶的ID,狀態(tài),大小和上一次修改的時間。通過一個循環(huán)可以很容易的提取這些信息,然后再對格式稍作修改使它根據(jù)表達性,像上面的例子中提到的。
【免責聲明】本文部分系轉載,轉載目的在于傳遞更多信息,并不代表本網贊同其觀點和對其真實性負責。如涉及作品內容、版權和其它問題,請在30日內與聯(lián)系我們,我們會予以更改或刪除相關文章,以保證您的權益!