Trabalhando com arquivos em PHP
Apesar de termos a possibilidade de trabalhar com banco de dados em PHP, existem situações em que um simples arquivo texto resolve o problema. Tratarei aqui das várias formas de abrir, ler e gravar um arquivo usando a PHP.
[ Hits: 70.661 ]
Por: Caio Filipini em 11/11/2002
Agora que já sabemos como abrir e fechar um arquivo, precisamos conhecer as funções que manipulam esse arquivo. Primeiro, daremos uma olhada nas funções para escrita de dados de um arquivo.
fwrite(): Esta função permite escrever strings em um arquivo. Se os dados forem escritos com sucesso, fwrite() retorna o número de bytes escritos; caso contrário, retorna -1 (indicando erro). Ela tem a seguinte sintaxe:
fwrite(handle, string);
- handle: handle do arquivo onde os dados serão escritos;
- string: string a ser escrita no arquivo;
Exemplo:
<?php
$fp = fopen("./dados.txt", "w");
fwrite($fp, "Hello world!"); // grava a string "Hello world!" no arquivo
fclose($fp);
?>
fputs(): Esta função é semelhante à função fwrite() e funciona da mesma maneira.
Depois de escrevermos os dados no arquivo, precisamos ser capazes de ler os dados que acabamos de gravar. É exatamente isso o que iremos aprender agora, funções para leitura de dados de um arquivo.
fread(): Esta função permite ler strings gravadas em um arquivo. A sintaxe é a seguinte:
fread(handle, length);
- handle: handle do arquivo de onde os dados serão lidos;
- length: tamanho em bytes do buffer de leitura;
Exemplo:
<?php
$fp = fopen("./dados.txt", "r");
$text = fread($fp, 20); // lê 20 bytes do arquivo e armazena em $text
fclose($fp);
?>
fgets(): Esta função é usada na leitura de strings de um arquivo. fgets() lê "length - 1" bytes do arquivo. Se for encontrado o final da linha e o número de bytes especificados não tiver sido atingido, fgets() terminará a leitura no final da linha (ou no final do arquivo, se for o caso). Eis a sua sintaxe:
fgets(handle, length);
- handle: handle do arquivo de onde os dados serão lidos;
- length: tamanho em bytes do buffer de leitura;
Exemplo:
<?php
$fp = fopen("./dados.txt", "r");
$text = fgets($fp, 20);
fclose($fp);
?>
fgetc(): Esta função permite ler caractere por caractere de um arquivo. Seguem a sintaxe e um exemplo de utilização:
fgetc(handle);
- handle: handle do arquivo de onde os dados serão lidos;
Exemplo:
<?php
$fp = fopen("./dados.txt", "r");
do {
$char .= fgetc($fp);
} while($char);
fclose($fp);
?>
file(): Esta função lê um arquivo completo, e armazena cada linha do arquivo como um elemento de um array. Depois de ler todo o conteúdo do arquivo, file() o fecha automaticamente, não sendo necessária uma chamada a fclose(); Vejamos a sintaxe:
file(filename);
- filename: nome ou caminho completo de um arquivo.
Exemplo:
<?php
$file_lines = file("./dados.txt");
echo "Primeira linha: " . $file_lines[0];
?>
Além dessas funções para leitura e escrita, existe ainda uma função bastante útil, que testa se o final do arquivo foi atingido. É a função feof(), que tem a seguinte sintaxe:
feof(handle);
- handle: handle do arquivo;
Exemplo:
<?php
$fp = fopen("./dados.txt", "r");
while(!feof($fp)) {
$char .= fgetc($fp);
}
fclose($fp);
?>
É isso aí! Existem diversas outras funções em PHP para a manipulação de arquivo, inclusive para acesso aleatório. Porém, o intuito deste tutorial é mostrar a base da manipulação de arquivos. Aqueles que estiverem interessados em aprender o assunto mais a fundo, há uma referência de todas as funções da linguagem PHP no manual, disponível em http://www.php.net.
Upload de imagens com criação de thumbnails em PHP
O perigo no gerenciador de uploads do PHP
Manipulação de arquivos com PHP
PEAGLE: Serviço Web de busca indexada em seu servidor local
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Arch Linux - Guia para Iniciantes (2)
Problemas ao instalar o PHP (11)
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (15)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)