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 é 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 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.
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 |



