网站首页 laravel框架
zipPer 操作
发布时间:2016-09-01 01:42查看次数:4616
zipPer 操作
下载地址:https://github.com/Chumper/Zipper
安装方法
composer require chumper/zipper
注意版本号
for Laravel 5: "chumper/zipper": "0.6.x"
for Laravel 4: "chumper/zipper": "0.5.x"
2.config/app 下添加 服务
add to providers 'Chumper\Zipper\ZipperServiceProvider'
add to aliases 'Zipper' => 'Chumper\Zipper\Zipper'
简单实例:
$zipper = new \Chumper\Zipper\Zipper; //实例化一个ZIP对象
$zipper->make('test.zip')->folder('test')->add('composer.json');
//创建TEST文件指定test文件夹添加文件composer
$zipper->zip('test.zip')->folder('test')->add('composer.json','test');
//创建TEST文件指定test文件夹添加文件composer
$zipper->remove('composer.lock');
//删除压缩包中文件
$zipper->folder('mySuperPackage')->add(
array(
'vendor',
'composer.json'
),
);
//指定文件夹插入多个文件
$zipper->getFileContent('mySuperPackage/composer.json');
//获取压缩包中文件内容
$zipper->make('test.zip')->extractTo('',array('mySuperPackage/composer.json'),Zipper::WHITELIST);
//解压缩
详细方法名解释:
make($pathToFile)
//文件存在时打开文件否则创建文件
add($files/folder)
//添加指定文件 或者文件夹
addString($filename, $content)
//添加文件来着指定的二进制内容(file_get_contents)
remove($file/s)
//删除文件
folder($folder)
指定添加到ZIP的文件夹位置
home()
调整ZIP对象指针
zip($fileName)
使用zip压缩模式
getFileContent($filePath)
在zip文件的内容。这将返回内容或错误的。
getStatus()
获取压缩的状态,返回整数型。
close()
关闭ZIP 写所以操作
extractTo($path)
解压文件
extractTo('public', array('vendor'), Zipper::WHITELIST)
extractTo('public', array('vendor'), Zipper::BLACKLIST)
示例代码:
public function index($school){ $data = EndAwardsModel::where('endAward','<>','')->where('school','=',$school)->get(); $filePath = public_path().'/pdf/award/'; $zipFileName = public_path().'/pdf/zip/'.$school.'.zip'; $zipper = new Zipper(); $zipper->make($zipFileName); foreach ($data as $item){ $id = $item->id; $this->createPdf($id); } $zipper->add($filePath); $status = $zipper->getStatus(); if($status == 'No error'){ $zipper->close(); //关闭文件切写出文件 $status = is_file($zipFileName); if($status){ $this->removeFile($filePath); //清楚PDF缓存文件 } }else{ return '失败'; } // return iconv("utf-8","gb2312",$school).'完成'; } protected function removeFile($filePath){ system('rm -r '.$filePath.'*'); }
德玛西亚 浙江--义乌 2016年9月1日
不断追求的途中....未进步不止步
关键字词:zipPer 操作