Back-End

1 mar, 2019

Manipulando diretórios temporários com PHP usando o spatie/temporary-directory

100 visualizações
Publicidade

Fala galera, animados para o carnaval?

Hoje trago para vocês mais uma biblioteca bem útil para o desenvolvimento web, especificamente para manipulação de arquivos. Em algumas das nossas funcionalidades pode haver algum trabalho com arquivos ou com diretórios, porém, você não precisa que aquele diretório fique para sempre no seu projeto, porém, queremos que aquela pasta fique na mesma pasta temporária do nosso sistema operacional. Então, caso você queira manipular um diretório temporário, basta usar a biblioteca spatie/temporary-directory.

Como as demais bibliotecas que temos visto, sua instalação é bem simples, bastando utilizar um:

composer require spatie/temporary-directory

No exemplo abaixo (directory.php) iremos criar um diretório denominado “pokemon” e criaremos um arquivo temporaryfile.txt com o conteúdo “pokemaobr” dentro desse diretório

<?php

require_once 'vendor/autoload.php';

use Spatie\TemporaryDirectory\TemporaryDirectory;

$temporaryDirectory = (new TemporaryDirectory())
   ->name('pokemon') //define um nome para o diretório
   ->force() //força a criação do diretório mesmo que ele já exista
   ->create(); //cria um diretório temporário

$tempFile = $temporaryDirectory->path('temporaryfile.txt'); //retorna o local do arquivo temporaryfile.txt dentro do diretório temporário

file_put_contents($tempFile,'pokemaobr'); //inclui "pokemaobr" como conteúdo do arquivo temporaryfile.txt dentro da pasta

Para executar, basta usar php directory.php no seu terminal:

Para apagar o conteúdo da pasta, podemos usar o método empty()

<?php

require_once 'vendor/autoload.php';

use Spatie\TemporaryDirectory\TemporaryDirectory;

$temporaryDirectory = (new TemporaryDirectory())
   ->name('pokemon') //define um nome para o diretório
   ->force() //força a criação do diretório mesmo que ele já exista
   ->create(); //cria um diretório temporário

$tempFile = $temporaryDirectory->path('temporaryfile.txt'); //retorna o local do arquivo temporaryfile.txt dentro do diretório temporário

file_put_contents($tempFile,'pokemaobr'); //inclui "pokemaobr" como conteúdo do arquivo temporaryfile.txt dentro da pasta

$temporaryDirectory->empty(); //limpa o conteúdo do diretório

E, para apagar o diretório temporário basta utilizar o método delete().

Galera, espero que esse artigo tenha ajudado você a mexer com diretórios temporários, quaisquer dúvidas é só mandar mensagem.