利用php怎么对邮政文件进行压缩与解压缩

介绍

这篇文章将为大家详细讲解有关利用php怎么对邮政文件进行压缩与解压缩,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。


利用php怎么对邮政文件进行压缩与解压缩

记得要开启zip,把php。ini中=php_zip的扩展。dll前面的分号去掉。

<强>源码范例:

代码如下:


& lt; ?php

//需开启配置php_zip.dll
//phpinfo ();
头(“内容类型:text/html; charset=utf-8");

函数get_zip_originalsize(文件名、路径)美元{
,//先判断待解压的文件是否存在
,如果(! file_exists ($ filename)) {
,,死(“文件美元文件名不存在!“);
,},
,美元开始时间=爆炸(& # 39;',microtime()); //解压开始的时间

 //将文件名和路径转成windows系统默认的gb2312编码,否则将会读取不到
 $filename=iconv("utf-8","gb2312",$filename);
 $path=iconv("utf-8","gb2312",$path);
 //打开压缩包
 $resource=zip_open($filename);
 $i=1;
 //遍历读取压缩包里面的一个个文件
 while ($dir_resource=zip_read($resource)) {
  //如果能打开则继续
  if (zip_entry_open($resource,$dir_resource)) {
   //获取当前项目的名称,即压缩包里面当前对应的文件名
   $file_name=$path.zip_entry_name($dir_resource);
   //以最后一个“/狈指?再用字符串截取出路径部分
   $file_path=substr($file_name,0,strrpos($file_name, "/"));
   //如果路径不存在,则创建一个目录,true表示可以创建多级目录
   if(!is_dir($file_path)){
    mkdir($file_path,0777,true);
   }
   //如果不是目录,则写入文件
   if(!is_dir($file_name)){
    //读取这个文件
    $file_size=zip_entry_filesize($dir_resource);
    //最大读取6M,如果文件过大,跳过解压,继续下一个
    if($file_size<(1024*1024*6)){
     $file_content=zip_entry_read($dir_resource,$file_size);
     file_put_contents($file_name,$file_content);
    }else{
     echo "

“。我+ +美元!”此文件已被跳过,原因:文件过大,→“.iconv (“gb2312",“utf-8", file_name美元)!”& lt;/p>“
,,,,}
,,,}
,,,//关闭当前
,,, zip_entry_close ($ dir_resource);
,,}
,}
,//关闭压缩包
, zip_close(资源)美元;,
, endtime美元=爆炸(& # 39;& # 39;());,//解压结束的时间
,这回=美元endtime endtime美元[0]+[1]——(开始时间开始时间美元[0]+ [1]);
,这回美元=圆(这一美元,3);,//保留3为小数
,呼应“& lt; p>解压完毕!,本次解压花费:美元这一秒。;/p>“;
}

$大?get_zip_originalsize (& # 39; 20131101. zip # 39; & # 39;临时/& # 39;);

?在

关于利用php怎么对邮政文件进行压缩与解压缩就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

利用php怎么对邮政文件进行压缩与解压缩