www.adminn.cn
站长正能量分享网!

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

AD:阿里云服务器企业会员更优惠 腾讯云香港,韩国免备案服务器1.8折优惠

本篇文章主要给大家介绍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.

模板优惠价: (点击购买)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《php如何读取zip内容?(zip_entry_read函数的使用)》
文章链接:https://www.adminn.cn/news/7783.html
本站资源模板仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。2021.5月起,网站调整,暂不再分享免费模板。谢谢理解

扫码支付后请联系右侧QQ发送下载地址!!

源码请勿用于任何涉灰站点!净化网络,站长更有责!

支付宝扫一扫打赏