Manipulação e funções de arquivo PHP()

⚡ Resumo Inteligente

O processamento de arquivos em PHP utiliza um conjunto abrangente de funções integradas para criar, ler, escrever, copiar e excluir arquivos no servidor. Este guia aborda as funções `file_exists`, `fopen` e seus modos, `fwrite`, `fclose`, `fgets`, `copy`, `unlink` e `file_get_contents` com exemplos práticos.

  • 📄 O que os arquivos armazenam: Os arquivos armazenam configurações, registros e dados simples, oferecendo uma opção de armazenamento permanente e barata em comparação com um banco de dados.
  • 🔍 Verificando arquivos: A função file_exists() confirma se um arquivo existe antes de você lê-lo ou criá-lo, evitando erros.
  • 📂 Abrindo arquivos: fopen() abre um arquivo em um modo como r, w ou a, que controla a leitura, a escrita e a adição de conteúdo.
  • ✍️ Redação e Encerramento: A função fwrite() envia dados para o descritor de arquivo e a função fclose() libera o descritor quando o trabalho estiver concluído.
  • 📖 Leitura de arquivos: A função fgets() lê uma linha por vez, enquanto file_get_contents() retorna o arquivo inteiro como uma única string.
  • 🗂️ Copiar e apagar: copy() duplica um arquivo para um novo caminho e unlink() exclui permanentemente um arquivo do servidor.
  • 🤖 Assistência de IA: As ferramentas de IA podem gerar código de análise de arquivos e resolver erros de permissão ou falha ao abrir o fluxo rapidamente.

Processamento de arquivos PHP

O que é um arquivo?

Um arquivo é simplesmente um recurso para armazenar informações em um computador.

Os arquivos geralmente são usados ​​para armazenar informações como:

  • Definições de configuração de um programa
  • Dados simples, como nomes de contato associados a números de telefone.
  • Imagens, figuras, fotos e mídias similares.

Suporte a formatos de arquivo PHP

As funções de arquivo PHP suportam uma ampla variedade de formatos de arquivo que incluem:

  • Arquivo.txt
  • Arquivo.log
  • Arquivo.extensão_personalizada, ou seja, arquivo.xyz
  • Arquivo.csv
  • Arquivos .gif, .jpg e formatos de imagem semelhantes.

Os arquivos são úteis em diversas situações:

  • Elas oferecem uma solução de armazenamento de dados permanente e econômica para dados simples, em comparação com bancos de dados que exigem outros softwares e habilidades para gerenciar sistemas de gerenciamento de banco de dados (SGBD).
  • Você deseja armazenar dados simples, como registros do servidor, para posterior recuperação e análise.
  • Você deseja armazenar as configurações do programa, ou seja, o arquivo program.ini.

Funções de arquivo PHP

O PHP oferece uma maneira prática de trabalhar com arquivos por meio de sua rica coleção de funções integradas.

Operasistemas de controle como Windows e macOS não diferenciam maiúsculas de minúsculas, enquanto Linux or Unix os sistemas operacionais diferenciam maiúsculas de minúsculas.

Adotar uma convenção de nomenclatura que utilize apenas letras minúsculas para nomear arquivos é uma boa prática que garante a máxima compatibilidade entre plataformas.

Vamos agora analisar algumas das funções de arquivo PHP mais comumente usadas.

Função PHP file_exists()

Esta função é usada para determinar se um arquivo existe ou não.

  • Isso é útil quando queremos saber se um arquivo existe antes de processá-lo.
  • Você também pode usar esta função ao criar um novo arquivo e desejar garantir que o arquivo ainda não exista no servidor.

A função file_exists tem a seguinte sintaxe.

<?php
file_exists($filename);
?>

AQUI,

  • “file_exists()” é a função PHP que retorna verdadeiro se o arquivo existir e falso se não existir.
  • “$filename” é o caminho e o nome do arquivo a ser verificado.

O código abaixo utiliza a função file_exists para determinar se o arquivo my_settings.txt existe.

<?php
if (file_exists('my_settings.txt'))
{
echo 'file found!';
}
else
{
echo 'my_settings.txt does not exist';
}
?>

Salve o código acima em um arquivo chamado file_function.php. Supondo que você tenha salvo o arquivo na pasta phptuts dentro de htdocs, abra-o. URL http://localhost/phptuts/file_function.php No seu navegador. Você obterá os seguintes resultados.

Função PHP file_exists()

Função PHP fopen()

A função fopen é usada para abrir arquivos. Sua sintaxe é a seguinte:

<?php
fopen($file_name,$mode,$use_include_path,$context);
?>

AQUI,

  • “fopen” é a função de abrir arquivo do PHP
  • “$file_name” é o nome do arquivo a ser aberto
  • “$mode” é o modo em que o arquivo deve ser aberto. A tabela abaixo mostra os modos.
Moda Descrição
r • Leia o arquivo desde o início.
• Retorna falso se o arquivo não existir.
• Somente leitura
r+ • Leia o arquivo desde o início
• Retorna falso se o arquivo não existir.
• Leia e escreva
w • Gravar no arquivo no início
• Truncar o arquivo para comprimento zero
• Se o arquivo não existir, tente criá-lo.
• Somente escrever
w+ • Gravar no arquivo no início, truncar o arquivo para comprimento zero
• Se o arquivo não existir, tente criá-lo.
• Leia e escreva
a • Anexar ao arquivo no final
• Se o arquivo não existir, tente criá-lo.
• Somente escrever
a+ • Anexar ao arquivo no final
• Se o arquivo não existir, tente criá-lo.
• Leia e escreva
  • O parâmetro “$use_include_path” é opcional, com valor padrão falso. Se definido como verdadeiro, a função também pesquisa no caminho de inclusão.
  • O parâmetro “$context” é opcional e pode ser usado para especificar o suporte de contexto.

Função PHP fwrite()

A função fwrite é usada para escrever em arquivos.

Possui a seguinte sintaxe.

<?php
fwrite($handle, $string, $length);
?>

AQUI,

  • “fwrite” é a função PHP para escrever em arquivos
  • “$handle” é o recurso de ponteiro de arquivo
  • “$string” são os dados a serem gravados no arquivo.
  • O parâmetro “$length” é opcional e pode ser usado para especificar o comprimento máximo do arquivo.

Função PHP fclose()

A função fclose() é usada para fechar um arquivo que já está aberto em PHP.

Possui a seguinte sintaxe.

<?php
fclose($handle);
?>

AQUI,

  • “fclose” é o Função PHP para fechar um arquivo aberto
  • “$handle” é o recurso de ponteiro de arquivo.

Vejamos agora um exemplo que cria o arquivo my_settings.txt. Usaremos as funções fopen, fwrite e fclose.

O código abaixo de “create_my_settings_file.php” implementa o exemplo acima.

Abra um arquivo
<?php

$fh = fopen("my_settings.txt", 'w')

or

die("Failed to create file"); ?>
Fechando um arquivo
<?php

fclose($fh);

?>
Criar arquivo
<?php

$fh = fopen("my_settings.txt", 'w') or die("Failed to create file");

$text = <<<_END

localhost;root;pwd1234;my_database

_END;

fwrite($fh, $text) or die("Could not write to file");

fclose($fh);

echo "File 1 written successfully"; ?>

Testando o código

Abra o URL http://localhost/phptuts/create_my_settings.php no seu browser.

Você receberá a seguinte página.

Função PHP fclose

Nota: se o seu disco estiver cheio ou você não tiver permissão para gravar arquivos, você receberá uma mensagem de erro.

Volte para o URL http://localhost/phptuts/file_function.phpQue resultados você obtém?

Função PHP fgets()

A função fgets é usada para ler arquivos PHP linha por linha. Sua sintaxe básica é a seguinte:

<?php
fgets($handle);
?>

AQUI,

  • “fgets” é a função PHP para ler linhas de um arquivo.
  • “$handle” é o recurso de ponteiro de arquivo.

Vejamos agora um exemplo que lê o arquivo my_settings.txt usando as funções fopen e fgets.

O código abaixo read_my_settings.php implementa o exemplo acima.

<?php
$fh = fopen("my_settings.txt", 'r') or die("File does not exist or you lack permission to open it");
$line = fgets($fh);
echo $line; fclose($fh);
?>

AQUI,

  • A função “fopen” retorna o ponteiro para o arquivo especificado no caminho do arquivo
  • A função “die()” é chamada se ocorrer um erro. Ela exibe uma mensagem e encerra a execução do script.

Função PHP copy ()

A função `copy` do PHP é usada para copiar arquivos. Sua sintaxe básica é a seguinte:

<?php
copy($file,$copied_file);
?>

AQUI,

  • “$file” especifica o caminho e o nome do arquivo a ser copiado.
  • “$copied_file” especifica o caminho e o nome do arquivo copiado.

O código abaixo ilustra a implementação.

<?php
copy('my_settings.txt', 'my_settings_backup.txt') or die("Could not copy file");
echo "File successfully copied to 2";
?>

Excluindo um arquivo

A função unlink é usada para excluir um arquivo. O código abaixo ilustra a implementação.

<?php
if (!unlink('my_settings_backup.txt'))
{
echo "Could not delete file";
}
else
{
echo "File 1 successfully deleted";
}
?>

Função PHP file_get_contents()

A função file_get_contents é usada para ler todo o conteúdo do arquivo.

A diferença entre file_get_contents e fgets é que file_get_contents retorna os dados do arquivo como uma string, enquanto fgets lê o arquivo linha por linha.

O código abaixo ilustra a implementação.

<?php
echo "<pre>"; // Enables display of line feeds
echo file_get_contents("my_settings.txt");
echo "</pre>"; // Terminates pre tag
?>

Referência rápida de funções de arquivo PHP

A tabela abaixo resume as funções de arquivo abordadas neste tutorial.

função Descrição
file_exists Usado para determinar se um arquivo existe ou não
abrir Usado para abrir um arquivo. Retorna um ponteiro para o arquivo aberto
escrever Usado para gravar em arquivos
fperto Usado para fechar um arquivo aberto.
fgets Usado para ler um arquivo linha por linha
cópia Usado para copiar um arquivo existente
desvincular Usado para excluir um arquivo existente
file_get_contents Usado para retornar o conteúdo de um arquivo como uma string

Perguntas Frequentes

A função `fgets` lê uma linha por chamada, `fread` lê um número definido de bytes de um identificador aberto e `file_get_contents` lê o arquivo inteiro para uma string em uma única chamada, sem a necessidade de `fopen` ou `fclose`.

A função `fwrite` escreve em um arquivo já aberto e precisa das funções `fopen` e `fclose`. Já a função `file_put_contents` abre, escreve e fecha o arquivo em uma única chamada, sendo a opção mais concisa para escritas simples.

Use `is_writable('file.txt')` para testar a permissão de escrita antes de escrever e `file_exists()` para confirmar se o arquivo existe. Em sistemas Unix, `chmod()` pode ajustar as permissões se o servidor web for o proprietário do arquivo.

Sim. Descreva o formato, como CSV, JSON ou um layout de log, e a IA pode gerar código usando fgetcsv, json_decode ou um loop personalizado, além de tratamento de erros para arquivos ausentes ou malformados. Teste com dados reais.

Sim. Compartilhe o caminho e o erro, e a IA poderá identificar um caminho relativo incorreto, um arquivo ausente ou um problema de permissões, sugerindo então o uso de um caminho absoluto, a criação do arquivo ou o ajuste das permissões.

Resuma esta postagem com: