首頁  >  文章  >  後端開發  >  php如何讀取zip內容? (zip_entry_read函數的使用)

php如何讀取zip內容? (zip_entry_read函數的使用)

藏色散人
藏色散人原創
2019-04-19 10:14:454490瀏覽

本篇文章主要跟大家介紹PHP如何從開啟的 zip 檔案中取得內容,那麼在PHP中有一個內建函數可以實現,也就是zip_entry_read()函數。

php如何讀取zip內容? (zip_entry_read函數的使用)

zip_entry_read()函數是PHP中內建的函數,用於從開啟的zip歸檔條目中讀取內容。正在讀取zip條目,傳回的位元組數可以作為參數發送給zip_entry_read()函數,如果成功,它將傳回指定zip條目的內容,否則將傳回PHP警告。

語法:

string zip_entry_read( $zip_entry, $length )

參數:

#此函數接受兩個參數,如下所述。

$zip_entry:這是一個指定zip條目資源的強制參數。

$length:它是一個可選參數,指定要傳回的位元組數。

傳回值:

成功時傳回指定zip條目的內容,否則傳回PHP警告。

錯誤與例外:

如果zip存檔無效,zip_entry_read()函數將傳回ER_OPEN錯誤。

如果zip存檔為空,則zip_entry_read()函數傳回ER_NOZIP錯誤

下面的程式示範了PHP中的zip_entry_read()函數:

範例1 :

假設zip檔article.zip包含檔案:geeks.txt

<?php 
  
// 打开zip文件
$zip_handle = zip_open("C:/xampp/htdocs/articles.zip"); 
   
// 读取zip存档项
while($zip_entry = zip_read($zip_handle))  
{  
    $resource = zip_entry_open($zip_handle, $zip_entry, "rb"); 
    $file_name = zip_entry_name($zip_entry); 
    
    if ($resource == true)  
    {  
   
        // 读取zip存档项的内容
        $file_content = zip_entry_read($zip_entry); 
        echo("File: " . $file_name . " successfully opened. <br>"); 
        echo("File content: " . $file_content); 
   
        // 关闭zip归档项
        zip_entry_close($zip_entry); 
    }  
    else
        echo("Failed to Open."); 
} 
  
// 关闭zip文件
zip_close($zip_handle); 
?>

輸出:

File: articles/geeks successfully opened. 
File content: Welcome to GeeksforGeeks. It is a computer science portal
where you can learn programming.

範例2:

假設zip檔article.zip包含以下檔案:

geeks.txt

geeks1.txt

<?php 
  
$zip_handle = zip_open("C:/xampp/htdocs/articles.zip"); 
   
while($zip_entry = zip_read($zip_handle))  
{  
    $resource = zip_entry_open($zip_handle, $zip_entry, "rb"); 
    $file_name = zip_entry_name($zip_entry); 
    if ($resource == true)  
    {  
   
        // 读取zip存档项的内容,最多可达150字节
        $file_content = zip_entry_read($zip_entry, 150); 
        echo("File Name: " . $file_name . " is opened Successfully. <br>"); 
        echo($file_content); 
        echo("<br><br>"); 
  
       
        zip_entry_close($zip_entry); 
    }  
    else
        echo("Failed to Open."); 
}  
  
zip_close($zip_handle); 
?>

輸出:

File Name: articles/geeks is opened Successfully. 
Welcome to GeeksforGeeks. It is a computer science portal where you
can learn programming.

File Name: articles/geeks1 is opened Successfully. 
A Computer Science portal for geeks. It contains well written, well
thought and well-explained computer science and programming articles,
quizzes and many more.

相關推薦:《PHP教學

以上是php如何讀取zip內容? (zip_entry_read函數的使用)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn