Utilidades Sistema de Arquivos

Capa Curso PHP
Tempo de leitura: 3 minutos

Utilidades Sistema de Arquivos: O PHP oferece um conjunto robusto de funções para interagir com o sistema de arquivos do servidor, permitindo a leitura, escrita, criação e remoção de arquivos e diretórios. E no caso de fazer upload de arquivos para seu sistema, a superglobal $_FILES é fundamental para o upload de arquivos para o servidor.

Neste artigo, exploraremos as principais funções e técnicas para trabalhar com o sistema de arquivos em PHP, desde a abertura e leitura de arquivos até a criação de diretórios e o gerenciamento de uploads.

Funções Essenciais

  • fopen: Abre um arquivo para leitura, escrita ou append.
  • fclose: Fecha um arquivo aberto.
  • fread: Lê um determinado número de bytes de um arquivo.
  • fwrite: Escreve uma string em um arquivo.
  • file_get_contents: Lê todo o conteúdo de um arquivo em uma string.
  • file_put_contents: Escreve uma string em um arquivo, substituindo o conteúdo existente.

Exemplo:

PHP

// Abrir um arquivo para leitura
$arquivo = fopen("meu_arquivo.txt", "r");

// Ler todo o conteúdo do arquivo
$conteudo = fread($arquivo, filesize("meu_arquivo.txt"));

// Fechar o arquivo
fclose($arquivo);

// Escrever em um arquivo
file_put_contents("novo_arquivo.txt", "Este é o novo conteúdo.");

Manipulação de Diretórios

  • mkdir: Cria um novo diretório.
  • rmdir: Remove um diretório vazio.
  • scandir: Retorna um array com os nomes dos arquivos e diretórios em um diretório.
  • is_dir: Verifica se um caminho especificado é um diretório.

Exemplo:

PHP

// Criar um novo diretório
mkdir("novo_diretorio");

// Listar os arquivos em um diretório
$arquivos = scandir("meu_diretorio");
foreach ($arquivos as $arquivo) {
    echo $arquivo . "<br>";
}

Verificação de Arquivos

  • file_exists: Verifica se um arquivo ou diretório existe.
  • is_file: Verifica se um caminho especificado é um arquivo regular.
  • filesize: Retorna o tamanho de um arquivo em bytes.
  • filemtime: Retorna o horário da última modificação de um arquivo.

Exemplo:

PHP

if (file_exists("meu_arquivo.txt")) {
    echo "O arquivo existe!";
}

echo "O tamanho do arquivo é: " . filesize("meu_arquivo.txt") . " bytes";

Upload de Arquivos

A superglobal $_FILES contém informações sobre os arquivos enviados através de um formulário HTML.

Exemplo de formulário:

HTML

<form action="upload.php" method="post" enctype="multipart/form-data">
    <input type="file" name="arquivo">
    <input type="submit" value="Enviar">
</form>

Exemplo de processamento:

PHP

if ($_FILES['arquivo']['error'] == UPLOAD_ERR_OK) {
    $nome_arquivo = $_FILES['arquivo']['name'];
    $tmp_name = $_FILES['arquivo']['tmp_name'];
    move_uploaded_file($tmp_name, "uploads/" . $nome_arquivo);
}

Boas Práticas

  • Validação: Valide sempre os dados enviados pelo usuário, incluindo o tipo de arquivo e o tamanho.
  • Segurança: Utilize funções de escape para evitar ataques de injeção.
  • Permissões: Verifique as permissões do servidor para garantir que o PHP tenha permissão para ler, escrever e modificar arquivos.
  • Otimização: Para grandes arquivos, utilize leitura em blocos para economizar memória.

Conclusão

Utilidades Sistema de Arquivos: O sistema de arquivos em PHP é uma ferramenta poderosa para criar aplicações dinâmicas e interativas. Ao dominar as funções e técnicas apresentadas neste artigo, você será capaz de manipular arquivos e diretórios de forma eficiente e segura.

Toda jornada tem um início, e o início para se tornar um desenvolvedor back-end é dominar as seguintes tecnologias, que você encontra aqui mesmo:

SQL
SQL
Capa Curso PHP
PHP
Laravel
Laravel

E se você gosta do nosso conteúdo, não deixe de contribuir adquirindo os serviços e produtos dos nossos apoiadores e empresas que somos associados:

Hospedagem Hostinger
Ofertas Amazon
Amazon Prime
Author: Thiago Rossi