当前位置:首页 > PHP教程 > php应用 > 列表

php如何读取zip内容?(zip_entry_read函数的使用)

发布:smiling 来源: PHP粉丝网  添加日期:2020-02-27 12:02:06 浏览: 评论:0 

本篇文章主要给大家介绍PHP如何从打开的 zip 档案中获取内容,那么在PHP中有一个内置函数可以实现,即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

  1. <?php  
  2.  
  3. // 打开zip文件 
  4.  
  5. $zip_handle = zip_open("C:/xampp/htdocs/articles.zip");  
  6.  
  7.      
  8.  
  9. // 读取zip存档项 
  10.  
  11. while($zip_entry = zip_read($zip_handle))   
  12.  
  13. {   
  14.  
  15.     $resource = zip_entry_open($zip_handle$zip_entry"rb");  
  16.  
  17.     $file_name = zip_entry_name($zip_entry);  
  18.  
  19.       
  20.  
  21.     if ($resource == true)   
  22.  
  23.     {   
  24.  
  25.      
  26.  
  27.         // 读取zip存档项的内容 
  28.  
  29.         $file_content = zip_entry_read($zip_entry);  
  30.  
  31.         echo("File: " . $file_name . " successfully opened. <br>");  
  32.  
  33.         echo("File content: " . $file_content);  
  34.  
  35.      
  36.  
  37.         // 关闭zip归档项 
  38.  
  39.         zip_entry_close($zip_entry);  
  40.  
  41.     }   
  42.  
  43.     else 
  44.  
  45.         echo("Failed to Open.");  
  46.  
  47. }  
  48.  
  49.     
  50.  
  51. // 关闭zip文件 
  52.  
  53. zip_close($zip_handle);  
  54.  
  55. ?> 

输出:

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

  1. <?php  
  2.  
  3. $zip_handle = zip_open("C:/xampp/htdocs/articles.zip");  
  4.  
  5. while($zip_entry = zip_read($zip_handle))   
  6.  
  7. {   
  8.  
  9.     $resource = zip_entry_open($zip_handle$zip_entry"rb");  
  10.  
  11.     $file_name = zip_entry_name($zip_entry);  
  12.  
  13.     if ($resource == true)   
  14.  
  15.     {   
  16.  
  17.      
  18.  
  19.         // 读取zip存档项的内容,最多可达150字节 
  20.  
  21.         $file_content = zip_entry_read($zip_entry, 150);  
  22.  
  23.         echo("File Name: " . $file_name . " is opened Successfully. <br>");  
  24.  
  25.         echo($file_content);  
  26.  
  27.         echo("<br><br>");  
  28.  
  29.     
  30.  
  31.          
  32.  
  33.         zip_entry_close($zip_entry);  
  34.  
  35.     }   
  36.  
  37.     else 
  38.  
  39.         echo("Failed to Open.");  
  40.  
  41. }   
  42.  
  43.     
  44.  
  45. zip_close($zip_handle);  
  46.  
  47. ?> 

输出:

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.

Tags: zip_entry_read

分享到: