您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關如何正確的在php中使用ZipArchive類,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
代碼如下:
<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
$zip->extractTo('/my/destination/dir/');
$zip->close();
echo 'ok';
} else {
echo 'failed';
}
?>
如果只是需要讀取包中某個文件的內容,需要文件名或者文件的索引值。
復制代碼 代碼如下:
<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
echo $zip->getFromName('example.php');
$zip->close();
}
?>
如果example.php在某目錄下,獲取內容時需要加上路徑。
如果只知道文件名,而不知到文件的具體路徑,可以搜索指定文件名的索引,再依靠索引獲取內容。
復制代碼 代碼如下:
<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
$index=$zip->locateName('example.php', ZIPARCHIVE::FL_NOCASE|ZIPARCHIVE::FL_NODIR);
$contents = $zip->getFromIndex($index);
}
?>
上面獲取索引依靠 locateName方法,如果壓縮包內多個路徑下有同名文件,好像只能返回第一個的索引,如果要獲取所有同名文件的索引,只能使用笨辦法,循環搜索。
復制代碼 代碼如下:
<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
for($i = 0; $i < $zip->numFiles; $i++)
{
if(substr_count($zip->getNameIndex($i), 'example.php')>0){
$contents = $zip->getFromIndex($i);
}
}
}
?>
關于如何正確的在php中使用ZipArchive類就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。