ホームページ  >  記事  >  バックエンド開発  >  PHPでzipコンテンツを読み取る方法は? (zip_entry_read関数の使用)

PHPでzipコンテンツを読み取る方法は? (zip_entry_read関数の使用)

藏色散人
藏色散人オリジナル
2019-04-19 10:14:454463ブラウズ

この記事では、PHP が開かれた zip ファイルからコンテンツを取得する方法を主に紹介します。PHP には、これを実現できる組み込み関数、つまり zip_entry_read() 関数があります。

PHPでzipコンテンツを読み取る方法は? (zip_entry_read関数の使用)

zip_entry_read() 関数は、開かれた zip アーカイブ エントリからコンテンツを読み取るために使用される PHP の組み込み関数です。 zip エントリが読み取られています。返されたバイト数は、パラメータとして zip_entry_read() 関数に送信できます。成功した場合は、指定された zip エントリの内容が返され、そうでない場合は、PHP 警告が返されます。

構文:

string zip_entry_read( $zip_entry, $length )

パラメータ:

この関数は、以下で説明するように 2 つのパラメータを受け入れます。

$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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。