{"id":3939,"date":"2014-12-12T09:52:13","date_gmt":"2014-12-12T11:52:13","guid":{"rendered":"http:\/\/blog.turbosite.com.br\/?p=3939"},"modified":"2014-12-12T09:52:13","modified_gmt":"2014-12-12T11:52:13","slug":"como-criar-arquivos-zip-em-php-e-extrai-los","status":"publish","type":"post","link":"https:\/\/www.turbosite.com.br\/blog\/como-criar-arquivos-zip-em-php-e-extrai-los\/","title":{"rendered":"Como criar arquivos ZIP em PHP e extra\u00ed-los"},"content":{"rendered":"<p>Uma forma simples de criar e extrair arquivos ZIP. Voc\u00ea pode utiliz\u00e1-la para Backup, compactar\u00a0arquivos para downloads e at\u00e9 mesmo agrupar diversos arquivos para seu cliente, facilitando a vida deles.<\/p>\n<p>Criamos 2 fun\u00e7\u00f5es muito simples, uma para criar o arquivo compactado que aceita 2 par\u00e2metros, um array dos arquivos e outro para o nome do arquivo que ser\u00e1 gerado e outra para extrair os arquivos, que tamb\u00e9m recebe 2 par\u00e2metros, um para dizer qual ser\u00e1 o\u00a0arquivo que deve ser descompactado e a outra, o local onde dever\u00e1 ser descompactado.<\/p>\n<p>&nbsp;<\/p>\n<p>Resumo:<\/p>\n<ul>\n<li>Criando a fun\u00e7\u00e3o para Compactar ( createZipFile )<\/li>\n<li>Utiliza\u00e7\u00e3o da fun\u00e7\u00e3o\u00a0createZipFile<\/li>\n<li>Criando a fun\u00e7\u00e3o para descompactar ( extractZipFile )<\/li>\n<li>Utiliza\u00e7\u00e3o da fun\u00e7\u00e3o extractZipFile<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h2>Criando a fun\u00e7\u00e3o para Compactar:<\/h2>\n<pre class=\"top-margin:20 bottom-margin:20 left-set:true left-margin:20 right-set:true right-margin:20 whitespace-before:02 whitespace-after:02 lang:php decode:true\">function createZipFile($f = array(),$fileName){\n\t$zip = new ZipArchive();\n\t$zip-&gt;open(\"$fileName.zip\", ZipArchive::CREATE);\n\tforeach($f as $file){\n\t\t$zip-&gt;addFile($file);\n\t}\n\t$zip-&gt;close();\n}<\/pre>\n<h2><\/h2>\n<h2>Utiliza\u00e7\u00e3o:<\/h2>\n<pre class=\"top-margin:20 bottom-margin:20 left-set:true left-margin:20 right-set:true right-margin:20 whitespace-before:02 whitespace-after:02 lang:php decode:true\">$f = array(\n\t'arquivo1.pdf',\n\t'arquivo2.pdf',\n\t'planilha1.pdf',\n\t'planilha2.pdf',\n\t'backup\/banco.sql'\n);\n\n$fileName = 'arquivos-compactados';\ncreateZipFile($f,$fileName);<\/pre>\n<p>&nbsp;<\/p>\n<h2>Criando a fun\u00e7\u00e3o para descompactar<\/h2>\n<pre class=\"lang:php decode:true\">function extractZipFile($origem,$destino){\n\n\t$zipFile = new ZipArchive;\n\t$openFile = $zipFile-&gt;open($origem);\n\n\tif ($openFile === TRUE) {\n\t\t$zipFile-&gt;extractTo($destino);\n\t\t$zipFile-&gt;close();\n\t\techo 'Arquivos extra\u00eddos com sucesso.';\n\t} else {\n\t\techo 'Extra\u00e7\u00e3o dos arquivos falhou.';\n\t}\n}\u00a0\n<\/pre>\n<h2><\/h2>\n<h2>Extraindo os arquivos:<\/h2>\n<pre class=\"lang:php decode:true\">$origem = \"arquivos-compactados.zip\";\n$destino = \"extrair\/\";\necho extractZipFile($origem,$destino);<\/pre>\n<p>&nbsp;<\/p>\n<p>Esperamos que tenham gostado deste mini tutorial, v\u00e1lido e pr\u00e1tico,\u00a0quem quiser deixar o c\u00f3digo mais enxuto, poste nos coment\u00e1rios que iremos publicar.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Uma forma simples de como criar arquivos zip em PHP e extra\u00ed-los arquivos ZIP. Voc\u00ea pode utiliz\u00e1-la para Backup, compactar arquivos para downloads e at\u00e9 mesmo agrupar diversos arquivos para seu cliente, facilitando a vida deles.<\/p>\n","protected":false},"author":1,"featured_media":3941,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,28],"tags":[59,148,245,677,678],"class_list":["post-3939","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desenvolvimento","category-tutoriais","tag-arquivo-zip-php","tag-criar-arquivo-zip-php","tag-extract-zip-file","tag-zip-backup-php","tag-zip-file"],"_links":{"self":[{"href":"https:\/\/www.turbosite.com.br\/blog\/wp-json\/wp\/v2\/posts\/3939","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.turbosite.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.turbosite.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.turbosite.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.turbosite.com.br\/blog\/wp-json\/wp\/v2\/comments?post=3939"}],"version-history":[{"count":0,"href":"https:\/\/www.turbosite.com.br\/blog\/wp-json\/wp\/v2\/posts\/3939\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.turbosite.com.br\/blog\/wp-json\/wp\/v2\/media\/3941"}],"wp:attachment":[{"href":"https:\/\/www.turbosite.com.br\/blog\/wp-json\/wp\/v2\/media?parent=3939"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.turbosite.com.br\/blog\/wp-json\/wp\/v2\/categories?post=3939"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.turbosite.com.br\/blog\/wp-json\/wp\/v2\/tags?post=3939"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}