导航:首页 > 文件处理 > php压缩程序

php压缩程序

发布时间:2022-07-29 03:42:33

❶ 如何用php压缩文件

您好,ZIP格式的可以

<?php
//需开启配置php_zip.dll
//phpinfo();
header("Content-type:text/html;charset=gb2312");
functionget_zip_originalsize($filename,$path){
//先判断待解压的文件是否存在
if(!file_exists($filename)){
die("文件$filename不存在!");
}
$starttime=explode('',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"<p>".$i++."此文件已被跳过,原因:文件过大,->".iconv("gb2312","utf-8",$file_name)."</p>";
}
}
//关闭当前
zip_entry_close($dir_resource);
}
}
//关闭压缩包
zip_close($resource);
$endtime=explode('',microtime());//解压结束的时间
$thistime=$endtime[0]+$endtime[1]-($starttime[0]+$starttime[1]);
$thistime=round($thistime,3);//保留3为小数
echo"<p>解压完毕!,本次解压花费:$thistime秒。</p>";
}
$size=get_zip_originalsize('temp/test.zip','temp/');
?>

❷ php如何压缩一个文件夹里面所有的文件到zip文件里面

//函数:文件压缩
//压缩参数:需要压缩的文件或文件夹(文件可为数组),压缩后的zip文件名及存放路径,压缩类型1:文件夹2:文件,后续操作1:压缩后下载;2:存放在服务器上(默认为/@Upload下)
//压缩文件夹示例:Tozip("./","../".date("d-H-i-s").".zip",1,2);
//压缩文件示例:
// $aaa=array("../1.txt","../2.txt");
// Tozip($aaa,"../2.zip",2);FunctionTozip($Path,
$ZipFile,
$Typ=1,
$Todo=1){//IF(!is_writeable($Path)){Exit("文件夹不可写!");}$Path=Str_iReplace("\\","/",($Path));IF(Is_Null($Path) OrEmpty($Path) Or!IsSet($Path)){ReturnFalse;}IF(Is_Null($ZipFile) OrEmpty($ZipFile) Or!IsSet($ZipFile)){ReturnFalse;}
Include_once("inc/Class_Zip.php");$zip=NewPHPZip;IF(SubStr($Path,-1,1)=="/"){$Path=SubStr($Path,0,
StrLen($Path)-1);}
OB_end_clean();Switch($Typ){Case"1":$zip-ZipDir($Path,
$ZipFile,
$Todo);Break;Case"2":$zip-ZipFile($Path,

❸ php使用pclzip类实现文件压缩的方法(附pclzip类下载地址)

本文实例讲述了php使用pclzip类实现文件压缩的方法。分享给大家供大家参考,具体如下:
使用PclZIp(zip格式)压缩,首先需要下载它的包文件(可点击此处本站下载)。PclZip功能还是蛮强大的,它可以进行压缩和解压,以及一些添加和删除的类的方法等等。当然了这些内容我们都可以在网上查找的到,没必要都得记住。我们只要在需要使用的时候自己可以很快的在网上找到使用方法就可以了。首先我们需要的就是要将下载的库文件进行引入,如
<?php
include('pclzip/pclzip.lib.php');
?>
//括号里面的地址改成自己的pclzip.lib.php
文件所在地址,
//它的所有的功能都在pclzip.lib.php里面
引入之后我们就可以进行使用了,下面是我使用时简单写的一个方法。
<?php
$zipname
=
"test.zip";
//压缩包的名称
$zipnames
=
'/zipfiles/'.$zipname;
//压缩包所在路径
$z
=
new
PclZip($zipnames);
//实例化这个PclZip类
$v_list
=
$z->create('file.txt,data/text.txt,folder');
//将文件进行压缩
if
($v_list
==
0)
{
die("Error
:
".$archive->errorInfo(true));
//如果有误,提示错误信息。
}
?>
这个一个简单的zip压缩就做好了,在这个方法中我们主要就是使用了PclZip里面的PclZip类以及它里面创建压缩包的方法create。从上面的例子我们可以看到下面这个内容
<?php
PclZip($zip_filename);
?>
//里面是该压缩包的名称以及所在路径。并不是把名称写上就可以了。
//如果路径不对是无法找到的。
<?php
PclZip::create($filelist,
[optional
arguments]);
?>
//create方法来创建压缩包。
//$filelist可以用数组包含文件的名称和文件夹名称或者是一个字符串来包含.
//如果是多个文件的话可以用逗号来隔开,如上面的例子。
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP操作zip文件及压缩技巧总结》、《php文件操作总结》、《php正则表达式用法总结》、《PHP运算与运算符用法总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。

❹ php 压缩文件夹

php将文件夹打包成zip文件,参考代码如下:

functionaddFileToZip($path,$zip){
$handler=opendir($path);//打开当前文件夹由$path指定。
while(($filename=readdir($handler))!==false){
if($filename!="."&&$filename!=".."){//文件夹文件名字为'.'和‘..’,不要对他们进行操作
if(is_dir($path."/".$filename)){//如果读取的某个对象是文件夹,则递归
addFileToZip($path."/".$filename,$zip);
}else{//将文件加入zip对象
$zip->addFile($path."/".$filename);
}
}
}
@closedir($path);
}

$zip=newZipArchive();
if($zip->open('images.zip',ZipArchive::OVERWRITE)===TRUE){
addFileToZip('images/',$zip);//调用方法,对要打包的根目录进行操作,并将ZipArchive的对象传递给方法
$zip->close();//关闭处理的zip文件
}

❺ php压缩文件夹

需要引用rar的压缩程序,加上一些参数。

其实就是应用程序的命令行模式,通过php来执行而已。

❻ PHP怎么压缩文件 谢谢

一般可到控制面板中压缩和解压缩。

❼ php 如何解压压缩文件

解压缩文件是调用外面程序来实现的,比如下面的语句解压缩abc.tgz
system("tar xzf abc.tgz");

❽ 怎样用php压缩解压rar,zip文件

要用PHP压缩解压文件,常用的方法是调用命令行去执行解压缩操作
可以用exec() 、system()等函数调用shell命令
Linux下解压缩命令是tar [-cxtzjvfpPN] 文件与目录,tar命令可以压缩解压.tar、.gz、.tar.gz、.tgz、.bz2、.tar.bz2、.Z、.tar.Z、.zip这些类型的文件
Linux下默认无法使用rar格式的,要另外安装RAR for Linux,然后使用rar和unrar命令解压缩rar格式的压缩文件

❾ php 怎么压缩图片的大小

好办的,你把网站下载到本地,然后 用这个批量压缩图片的软件就可以了

❿ 如何用PHP实现页面的GZIP压缩输出

第一步,你需要对php的设置如下:
php.ini: output_buffering = Off output_handler = ob_gzhandler zlib.output_compression = Off zlib.output_compression_level = -1

第二步,你需要在apache下增加如下设置:

AddOutputFilter DEFLATE html php js css

这样就可以对html php js css进行gzip压缩了。

第三步,你需要使用如下php压缩html并输出到客户端的函数:

function compress_html($string) { return ltrim(rtrim(preg_replace(array("/> *([^ ]*) *</","//","'/\*[^*]*\*/'","/\r\n/","/\n/","/\t/",'/>[ ]+</'), array(">\\1<",'','','','','','><'),$string))); }

上面的这个正则表达式,很强大的哦,经过我本人亲自测试可使用。
通过以上方法,你就可以将你的html代码压缩然后输出给客户端了。不信你可以查看源代码,就是一行,网页瞬间压缩很小。

阅读全文

与php压缩程序相关的资料

热点内容
oppo手机西瓜视频的文件夹 浏览:865
骑手一般用哪个app 浏览:608
程序员老板用什么手机 浏览:848
比心app头像不通过为什么 浏览:105
加密币市值前十走势 浏览:190
单片机学习推荐课程 浏览:473
对数ln的运算法则图片 浏览:735
仿微博app源码 浏览:781
怎么取消调用app 浏览:545
程序员去哪里求助 浏览:834
服务器里的端口是什么 浏览:975
aspnetjavaphp 浏览:399
程序员毕业时间 浏览:285
程序员用户免费软件 浏览:754
51单片机汇编语言指令 浏览:139
女程序员好难 浏览:688
三田压缩机与电装 浏览:710
重生细胞安卓版没键盘怎么玩 浏览:994
小米nfc手机刷加密卡 浏览:290
linux如何下载文件 浏览:808