Heim  >  Artikel  >  Backend-Entwicklung  >  Wie lese ich Zip-Inhalte in PHP? (Verwendung der Funktion zip_entry_read)

Wie lese ich Zip-Inhalte in PHP? (Verwendung der Funktion zip_entry_read)

藏色散人
藏色散人Original
2019-04-19 10:14:454470Durchsuche

In diesem Artikel wird hauptsächlich vorgestellt, wie PHP Inhalte aus einer geöffneten ZIP-Datei erhält. Es gibt eine integrierte Funktion in PHP, die dies erreichen kann, nämlich die Funktion zip_entry_read().

Wie lese ich Zip-Inhalte in PHP? (Verwendung der Funktion zip_entry_read)

Die Funktion zip_entry_read() ist eine integrierte Funktion in PHP, die zum Lesen von Inhalten aus einem geöffneten ZIP-Archiveintrag verwendet wird. Der Zip-Eintrag wird gelesen. Die Anzahl der zurückgegebenen Bytes kann als Parameter an die Funktion zip_entry_read() gesendet werden. Bei Erfolg wird der Inhalt des angegebenen Zip-Eintrags zurückgegeben. Andernfalls wird eine PHP-Warnung zurückgegeben.

Syntax:

string zip_entry_read( $zip_entry, $length )

Parameter:

Die Funktion akzeptiert zwei Parameter wie unten beschrieben.

$zip_entry: Dies ist ein obligatorischer Parameter, der die Zip-Eintragsressource angibt.

$length: Dies ist ein optionaler Parameter, der die Anzahl der zurückzugebenden Bytes angibt.

Rückgabewert:

Gibt bei Erfolg den Inhalt des angegebenen Zip-Eintrags zurück, andernfalls wird eine PHP-Warnung zurückgegeben.

Fehler und Ausnahmen:

Wenn das Zip-Archiv ungültig ist, gibt die Funktion zip_entry_read() einen ER_OPEN-Fehler zurück.

Die Funktion zip_entry_read() gibt einen ER_NOZIP-Fehler zurück, wenn das Zip-Archiv leer ist

Das folgende Programm demonstriert die Funktion zip_entry_read() in PHP:

Beispiel 1 :

Angenommen, die ZIP-Datei „article.zip“ enthält die Datei: 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); 
?>

Ausgabe:

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

Beispiel 2:

Angenommen, die ZIP-Datei „article.zip“ enthält die folgenden Dateien:

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); 
?>

Ausgabe:

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.

Verwandte Empfehlungen: „PHP-Tutorial

Das obige ist der detaillierte Inhalt vonWie lese ich Zip-Inhalte in PHP? (Verwendung der Funktion zip_entry_read). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn