laravel 压缩文件与解压文件

一、引入第三方类

composer require chumper/zipper

二、第三方类配置

'providers'=>[
    Chumper\Zipper\ZipperServiceProvider::class
]
 'aliases' => [
    'Zipper' => Chumper\Zipper\Zipper::class
]

三、压缩解压缩实例


namespace App\Http\Controllers\Upload;
use App\Http\Controllers\Controller;
use Chumper\Zipper\Zipper;
use Illuminate\Http\Request;

class FilesController extends Controller
{
	//压缩
    public function testExcel()
    {
    	//压缩文件夹到指定目录
    	$zip = new Zipper();
        $zip->make(public_path('test.zip'))->add(public_path('avatar'))->close();
        
        //压缩指定文件到指定目录
        $arrFile = [];
        $file = glob(public_path('/avatar/10010.png'));
        $file1 = glob(public_path('/avatar/11199.png'));
        $arr = array_merge($arrFile,$file);
        $arr = array_merge($arr,$file1);

        $zip = new Zipper();
        $zip->make(public_path('test1.zip'))->add($arr)->close();
    }
	
	//解压
	public function testUnzip(Request $request)
	{
		//获取压缩文件临时地址
	    $path= $request->file->getRealPath();
	   	$zip = new Zipper();
	   	//解压压缩包到指定目录
	   	$zip->make($path)->extractTo(public_path().'/avatar');
	   	//查看压缩包文件列表
        $arrFiles = $zip->make($path)->listFiles();
        //$logFiles = $zip->make($path)->listFiles('/\.png$/i');
	}

}

你可能感兴趣的:(php,lavarel)