发表日期:2021-04-06 08:54文章编辑:jianzhan浏览次数: 标签:
在php中,有时候大家必须应用到缩小文档实际操作,缩小文档能够节约硬盘室内空间;且缩小文档更小,有利于互联网传送,高效率高,下边大家就来啦解php的缩小缓解压力有关实际操作
在PHP中有一个ZipArchive类,专业用以文档的缩小缓解压力有关实际操作
在ZipArchive类中关键应用来到以下方式:
1:open(开启一个缩小包文档)
$zip = new \ZipArchive;$zip- open('test_new.zip', \ZipArchive::CREATE)
第一个主要参数:要开启的缩小包文档
第二个主要参数:
ZIPARCHIVE::OVERWRITE 一直建立一个新的文档,假如特定的zip文档存有,则会遮盖掉
ZIPARCHIVE::CREATE 假如特定的zip文档不会有,则在建一个
ZIPARCHIVE::EXCL 假如特定的zip文档存有,则会出错
ZIPARCHIVE::CHECKCONS 对特定的zip实行别的一致性检测
2:addFile(将特定文档加上到缩小包中)
//将test.txt文档加上到缩小包中$zip- addFile('test.txt'); //第二个主要参数可对文档开展重新命名
3:addEmptyDir (将特定空文件目录加上到缩小包中)
//将一个空的文件目录加上到zip中 $zip- addEmptyDir ('newdir');
4:addFromString(将特定內容的文档加上到缩小包)
// 将有特定內容的new.txt文档加上到zip文档中$zip- addFromString('new.txt', '要加上到new.txt文档中的文字');
5:extractTO(将缩小包缓解压力到特定文件目录)
$zip- extractTo('test');
6:getNameIndex(依据数据库索引回到文档名字)
$zip- getNameIndex(0);//回到缩小包中数据库索引为0的文档名字
7:getStream(依据缩小内的文档名字,获得该文档的文字流)
$zip- getStream('hello.txt');
8:renameIndex(依据缩小文档内的数据库索引(从0刚开始)改动缩小文档内的文档名)
/把缩小文档内第一个文档改动成newname.txt $zip- renameIndex(0,'newname.txt');
9:renameName(依据缩小文档内的文档名,改动缩小文档内的文档名)
//把缩小文档内的word.txt改动成newword.txt $zip- renameName('word.txt','newword.txt');
10:deleteIndex (依据缩小文档内的数据库索引删掉缩小文档内的文档)
/把缩小文档内第一个文档删掉 $zip- deleteIndex (0);
11:deleteName(依据缩小文档内的文档名删掉文档)
//把缩小文档内的word.txt删掉$zip- deleteName('word.txt');
上边便是ZipArchive的一些常见方式,下边来一些简易实例
一:建立一个缩小包
$zip = new \ZipArchive;if ($zip- open('test_new.zip', \ZipArchive::CREATE) === true){ // 将特定文档加上到zip中 $zip- addFile('test.txt'); // test.txt文档加上到zip并将其重新命名为newfile.txt $zip- addFile('test.txt', 'newfile.txt'); // 将test.txt文档加上到zip文档中的test文档夹内 $zip- addFile('test.txt', 'test/newfile.txt'); //将一个空的文件目录加上到zip中 $zip- addEmptyDir ('test'); // 将有特定內容的new.txt文档加上到zip文档中 $zip- addFromString('new.txt', '要加上到new.txt文档中的文字'); // 将有特定內容的new.txt加上到zip文档中的test文档夹 $zip- addFromString('test/new.txt', '要加上到new.txt文档中的文字'); //将images文件目录下全部文档加上到zip中 if ($handle = opendir('images')){ // 加上文件目录中的全部文档 while (false !== ($entry = readdir($handle))){ if ($entry != "." && $entry != ".." && !is_dir('images/' . $entry)){ $zip- addFile('images/' . $entry); } } closedir($handle); } // 关掉zip文档 $zip- close();}
二:获得缩小包的文档信息内容并缓解压力特定缩小包
$zip = new \ZipArchive;if ($zip- open('test_new.zip') === true) { //获得数据库索引为0的文档名字 var_dump($zip- getNameIndex(0)); //将缩小包文档缓解压力到test文件目录下 $zip- extractTo('test'); //获得缩小包特定文档的文字流 $stream = $zip- getStream('test.txt'); // 关掉zip文档 $zip- close(); $str = stream_get_contents($stream); //这儿留意获得到的文字编号 var_dump($str);}
三:改动缩小包内特定文档的文档名字及删掉缩小包内特定文档
$zip = new \ZipArchive;if ($zip- open('test_new.zip') === true) { //把缩小文档内数据库索引为0的文档改动成newname.txt $zip- renameIndex(0,'newname.txt'); //把缩小文档内的new.txt改动成newword.txt $zip- renameName('new.txt','newword.txt'); //删掉缩小文档内数据库索引为0的文档 $zip- deleteIndex(0); //删掉缩小文档的test.png $zip- deleteName('test.png'); // 关掉zip文档 $zip- close();}
之上便是文中的所有內容,期待对大伙儿的学习培训有一定的协助,也期待大伙儿多多的适用剖要网。
如对文中有疑惑,请递交到沟通交流小区,众多热情网民会给你解释!! 点一下进到小区
打赏主播一下,大家会为大伙儿出示大量优良資源!
赏