Hoje vou ensinar você, nobre programador, a manipular pastas usando apenas o PHP. Não é um recurso muuuito utilizado, mas mesmo assim é útil e merece ser aprendido. :-D
No PHP já existe uma função para cada tarefa que irei ensinar aqui hoje: criar, deletar, mover e renomear pastas.
Criando pastas
Para criar uma pasta exiset a função mkdir() que é bem fácil de usar… O caminho da pasta a ser criada é - normalmente - relativo ao script atual, e durante a criação você pode definir os níveis de permissões da pasta (CHMOD) e se essa criação vai ser recursive (veja mais a diante).
Para criarmos uma pasta no mesmo diretório do script atual, fazemos das seguintes maneiras:
Por padrão o CHMOD das pastas criadas pelo PHP é 777… Se quiser criar uma pasta com permissões mais restritas, ou seja, um CHMOD menor, faça dessa forma:
Por motivos maiores o nº do CHMOD (no nosso exemplo: 744) deve ser sempre precedido de um zero e não pode estar entre aspas.
Agora suponhamos que você precise criar duas pastas, mas que seja uma dentro da outra… Você pode fazer de duas formas:
Repare que, na segunda forma de se criar uma pasta, definimos o terceiro parâmetro (criação recursiva) como true, isso faz com que o PHP vá criando as pastas, uma a uma, de forma automática caso elas não existam.
Deletando pastas
Se você quiser deletar pastas é só usar função rmdir() para isso. Porém você precisa tomar um cuidado antes: a pasta precisa estar vazia (não conter outros arquivos e/ou pastas dentro dela) e você precisa ter a permissão de usuário (CHMOD) necessária para essa operação.
Veja um exemplo de como deletar uma das pastas criadas nos exemplos anteriores:
Em um futuro próximo ensinarei a manipular arquivos também e você poderá fazer a sua super-função para deletar a pasta e tudo que estiver dentro. Aguarde.
Renomeando pastas
Pra renomear pastas também não tem mistério, é só usar a função rename() que também pode ser usada para renomear arquivos:
Movendo pastas
Não.. Não existe função para “mover” uma pasta por que, na verdade, o que você faz é renomeá-la… Vejamos um exemplo:
Temos a pasta site e, dentro dela, temos duas pastas: imagens e blog. Queremos mover a pasta blog para fora da pasta site… O script rodado está fora da pasta site também, é só fazermos assim:
E aí.. gostaram? Comentem!
Documentação Oficial:
- Função [mkdir()](http://br.php.net/mkdir) » Cria uma pasta
- Função [rmdir()](http://br.php.net/rmdir) » Deleta uma pasta
- Função [rename()](http://br.php.net/rename) » Renomeia uma pasta ou arquivo