{"id":28277,"date":"2021-06-06T10:04:00","date_gmt":"2021-06-06T07:04:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=28277"},"modified":"2021-10-18T04:04:14","modified_gmt":"2021-10-18T01:04:14","slug":"tinypng-compactar-imagens-usando-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/pt-pt\/tinypng-compactar-imagens-usando-php\/","title":{"rendered":"TinyPNG compactar imagens usando PHP"},"content":{"rendered":"<p>Postado em <a href=\"https:\/\/artisansweb.net\/category\/php\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP<\/a><\/p>\n<p>Voc\u00ea est\u00e1 enfrentando um problema de velocidade do site? Voc\u00ea deve ent\u00e3o considerar a otimiza\u00e7\u00e3o das imagens do seu site. Imagens pesadas tornam a velocidade do site lenta. Ent\u00e3o, qual \u00e9 a solu\u00e7\u00e3o? Simples. Use o <a href=\"https:\/\/tinypng.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">TinyPNG<\/a> para compactar as imagens. Neste post, mostro como compactar imagens usando o TinyPNG.<\/p>\n<p>Eu constru\u00ed um script PHP que compacta as imagens em massa usando a API TinyPNG. Use-o e verifique o desempenho do seu site. Vai ser melhor j\u00e1 que estamos reduzindo o tamanho da imagem.<\/p>\n<p>Para come\u00e7ar, voc\u00ea precisa <a href=\"https:\/\/tinypng.com\/developers\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">obter uma chave API<\/a> registrando-se com seu nome e endere\u00e7o de e-mail.<\/p>\n<p>Presumo que voc\u00ea tenha um grande n\u00famero de imagens que precisam ser compactadas. Portanto, crie duas pastas &#8216;descompactado&#8217; e &#8216;compactado&#8217;. Mantenha todas as suas imagens em uma pasta &#8216;descompactada&#8217;. Armazenaremos todas as imagens otimizadas dentro da pasta &#8216;compactada&#8217; na hora.<\/p>\n<p>Abra o prompt de comando no diret\u00f3rio raiz do seu projeto e execute o comando:<\/p>\n<pre><code>composer require tinify\/tinify<\/code><\/pre>\n<p>Ele instalar\u00e1 a biblioteca TinyPNG em seu projeto para que voc\u00ea possa chamar suas APIs.<\/p>\n<p><strong>Nota<\/strong>: TinyPNG permite compactar 500 imagens gr\u00e1tis por m\u00eas. Por mais de 500 imagens, voc\u00ea precisa pagar pelo servi\u00e7o.<\/p>\n<p>Ap\u00f3s a instala\u00e7\u00e3o da biblioteca, crie o <code>index.php<\/code>arquivo e adicione o c\u00f3digo abaixo nele.<\/p>\n<pre><code>&lt;?php\nset_time_limit(0);\n\u00a0\nrequire_once(\"vendor\/autoload.php\");\n\u00a0\nTinifysetKey(\"TINYPNG_API_KEY\");\n\u00a0\n$dir = 'uncompressed\/';\n$images = scandir($dir);\n$images = array_diff($images, array('.', '..'));\n\u00a0\u00a0\nforeach ($images as $image) {\n\u00a0\u00a0\u00a0\u00a0$source = TinifyfromFile($dir.$image);\n\u00a0\u00a0\u00a0\u00a0$source-&gt;toFile(\"compressed\/\".$image);\u00a0\u00a0 \n}\n\u00a0\necho \"All images are compressed.\";<\/code><\/pre>\n<p>Substitua o espa\u00e7o reservado TINYPNG_API_KEY pela sua chave real. Aqui, estamos armazenando imagens otimizadas em uma pasta &#8216;compactada&#8217;. Se voc\u00ea deseja substituir as imagens originais pelas otimizadas, altere a linha abaixo<\/p>\n<pre><code>$source-&gt;toFile(\"compressed\/\".$image);\u00a0\u00a0 <\/code><\/pre>\n<p>Com<\/p>\n<pre><code>$source-&gt;toFile($dir.$image);<\/code><\/pre>\n<p>\u00c9 isso! V\u00e1 em frente e execute seu URL no navegador. Ele comprimir\u00e1 suas imagens e o desempenho do seu site dever\u00e1 melhorar.<\/p>\n<p>Espero que voc\u00ea entenda como compactar imagens usando a API TinyPNG em PHP. Eu gostaria de ouvir seus pensamentos e sugest\u00f5es na se\u00e7\u00e3o de coment\u00e1rios abaixo.<\/p>\n<h4>Artigos relacionados<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/pt-pt\/como-otimizar-a-imagem-ao-fazer-upload-em-php\/\" title=\"Como otimizar imagem ao carregar em PHP\">Como otimizar imagem ao carregar em PHP<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pt-pt\/carregar-e-compactar-varias-imagens-em-php\/\" title=\"Carregar e compactar v\u00e1rias imagens em PHP\">Carregar e compactar v\u00e1rias imagens em PHP<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pt-pt\/como-fazer-upload-e-compactar-imagens-no-laravel\/\" title=\"Um Guia para Upload e Compacta\u00e7\u00e3o de Imagens no Laravel\">Um Guia para Upload e Compacta\u00e7\u00e3o de Imagens no Laravel<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte de grava\u00e7\u00e3o:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Voc\u00ea est\u00e1 procurando otimizar suas imagens em PHP? Neste artigo, mostro como usar a API TinyPNG e compactar suas imagens em massa. Ser\u00e1<\/p>\n","protected":false},"author":1,"featured_media":21647,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[210,278],"tags":[848],"class_list":["post-28277","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-elementor-9","category-php-9","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts\/28277","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/comments?post=28277"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts\/28277\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/media\/21647"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/media?parent=28277"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/categories?post=28277"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/tags?post=28277"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}