Trabalhando com o sistema de arquivos em PHP: um guia prático

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

Introdução: por que saber trabalhar com o sistema de arquivos em PHP

Qualquer desenvolvedor web, mais cedo ou mais tarde, enfrenta a necessidade de salvar dados no servidor, fazer upload de imagens, criar arquivos temporários ou ler configurações. O PHP fornece um conjunto poderoso de funções para trabalhar com o sistema de arquivos, que permitem realizar todas essas tarefas de forma rápida e segura.

Neste artigo, abordaremos as operações mais requisitadas: leitura e escrita de arquivos, criação e exclusão de diretórios, verificação de existência de itens, além de trabalhar com caminhos. Todos os exemplos estão escritos em PHP e prontos para uso em seus projetos.



Funções principais para trabalhar com arquivos

Vamos começar com as operações básicas — abrir, ler e escrever arquivos. O PHP suporta várias formas de interagir com arquivos, e veremos as mais populares.



Abrir e fechar arquivo: fopen e fclose

A função fopen() abre um arquivo e retorna um manipulador para trabalhos futuros. Os modos de abertura determinam o que você pode fazer com o arquivo: ler (r), escrever (w), anexar (a), etc.

<?php// Abrindo arquivo para leitura$file = fopen("data.txt", "r");if ($file) {    // Trabalhando com o arquivo    fclose($file); // Obrigatório fechar} else {    echo "Não foi possível abrir o arquivo";}?>


Ler de um arquivo: fread, fgets, file_get_contents

Para ler o conteúdo, você pode usar diferentes funções dependendo da tarefa:

  • fread() — lê uma quantidade específica de bytes.
  • fgets() — lê uma linha.
  • file_get_contents() — a maneira mais simples de ler o arquivo inteiro.
<?php// Lendo o arquivo inteiro$content = file_get_contents("example.txt");echo $content;

// Lendo linha por linha$file = fopen("example.txt", "r");while (($line = fgets($file)) !== false) { echo $line . "<br>";}fclose($file);?>


Escrever em um arquivo: fwrite e file_put_contents

A escrita de dados é feita com fwrite() (requer um manipulador aberto) ou file_put_contents() (uma linha e o arquivo está escrito).

<?php// Escrita rápidafile_put_contents("log.txt", "Nova entrada", FILE_APPEND);

// Escrita via fwrite$file = fopen("config.ini", "w");fwrite($file, "db_host=localhost");fwrite($file, "db_user=root");fclose($file);?>


Trabalhando com diretórios

Criar, excluir e navegar por pastas é outra parte importante do trabalho com o sistema de arquivos em PHP.



Criar e excluir pastas: mkdir e rmdir

A função mkdir() cria um novo diretório. O terceiro parâmetro recursive permite criar pastas aninhadas com um único comando.

<?php// Criando uma pastamkdir("uploads", 0777);

// Criando pastas aninhadas (2025 → 03 → images)mkdir("uploads/2025/03/images", 0777, true);

// Excluindo uma pasta vaziarmdir("uploads/temp");?>


Verificando a existência de arquivos e pastas

Antes de realizar operações, é sempre útil verificar se o arquivo ou diretório existe. Para isso, use as funções file_exists(), is_file() e is_dir().

<?php$path = "data/config.php";if (file_exists($path)) {    echo "Arquivo ou pasta existe";}if (is_file($path)) {    echo "É um arquivo";}if (is_dir("uploads")) {    echo "É um diretório";}?>


Obtendo a lista de arquivos em um diretório

A função scandir() retorna um array com todos os itens da pasta. Já glob() permite filtrar por máscara (por exemplo, apenas imagens).

<?php// Todos os arquivos e pastas$items = scandir("uploads");print_r($items);

// Apenas arquivos PHP$phpFiles = glob("*.php");for

Blogs

Book Recommendations