Trabalhando com o sistema de arquivos em PHP: guia completo

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Trabalho com o sistema de arquivos em PHP: fundamentos e exemplos práticos



Trabalhar com o sistema de arquivos é uma das tarefas-chave do desenvolvimento web em PHP. Seja para upload de imagens, gravação de logs, leitura de arquivos de configuração ou gerenciamento de dados temporários — o conhecimento das funções para trabalhar com arquivos e diretórios é necessário para todo desenvolvedor PHP. Neste artigo, vamos detalhar as operações principais: abrir, ler, escrever, fechar arquivos, bem como gerenciar pastas e permissões de acesso.



Funções principais para trabalhar com arquivos em PHP



O PHP oferece um rico conjunto de funções embutidas. Vamos analisar as mais importantes.



Abrir e fechar arquivo: fopen() e fclose()



Para começar a trabalhar com um arquivo, é necessário abri-lo usando fopen(). A função recebe dois parâmetros obrigatórios: o caminho para o arquivo e o modo de abertura. O modo determina o que você pode fazer com o arquivo: ler, escrever, adicionar dados ao final, etc.



Modos principais:

  • r — apenas leitura. Ponteiro no início do arquivo.
  • r+ — leitura e escrita. Ponteiro no início.
  • w — apenas escrita. Se o arquivo existir, ele é limpo. Se não existir, é criado.
  • w+ — leitura e escrita. Limpa o arquivo ou cria um novo.
  • a — apenas escrita no final do arquivo. Se o arquivo não existir, é criado.
  • a+ — leitura e escrita no final.


<?php$file = fopen("example.txt", "w"); // Abrimos o arquivo para escritaif ($file) {    echo "Arquivo aberto com sucesso.";    fclose($file); // Sempre feche o arquivo após o uso} else {    echo "Não foi possível abrir o arquivo.";}?>


Leitura de arquivo: fgets(), fread() e file_get_contents()



A maneira mais simples de ler um arquivo inteiro é a função file_get_contents(). Ela retorna o conteúdo como uma string.



<?php$content = file_get_contents("example.txt");echo $content;?>


Se for necessário ler linha por linha (por exemplo, para arquivos grandes), use fgets() em um loop:



<?php$file = fopen("example.txt", "r");while (!feof($file)) {    $line = fgets($file);    echo $line . "<br>";}fclose($file);?>


A função fread() permite ler uma quantidade específica de bytes:



<?php$file = fopen("example.txt", "r");$content = fread($file, 100); // Lemos os primeiros 100 bytesecho $content;fclose($file);?>


Escrita em arquivo: fwrite() e file_put_contents()



Para escrever dados em um arquivo, é conveniente usar file_put_contents(). Ela abre o arquivo, escreve a string e o fecha com um único comando.



<?php$data = "Olá, mundo!";file_put_contents("example.txt", $data);?>


Se for necessário adicionar dados ao final, use a flag FILE_APPEND:



<?php$data = "Nova linha";file_put_contents("example.txt", $data, FILE_APPEND);?>


Para escrita mais flexível (por exemplo, em modo binário), utiliza-se fwrite():



<?php$file = fopen("example.txt", "w");fwrite($file, "String para escrita");fclose($file);?>


Trabalho com diretórios em PHP



Além de arquivos, o PHP permite gerenciar pastas: criar, excluir, ler seu conteúdo.



Criação e exclusão de pastas: mkdir() e rmdir()



A função mkdir() cria um novo diretório. Como segundo parâmetro, é possível especificar as permissões de acesso (padrão 0777).



<?phpif (mkdir("new_folder", 0777)) {    echo "Pasta criada.";} else {    echo "Erro ao criar pasta.";}?>


Para excluir uma pasta vazia, use

Blogs

Book Recommendations