Gestão de arquivos por PHP
Recopilamos algumas funções básicas para a gestão de arquivos com PHP.Por Rubén Alvarez
Publicado em: 13/6/09
O tratamento de arquivos costuma ser uma prática muito comum em qualquer web site. Muitas vezes nos vemos com a necessidade de processar um texto para mudar o formato, buscar uma cadeia em seu interior ou qualquer outro tipo de operação.
PHP propõe infinitas
funções para a gestão de arquivos que vão desde as mais elementares de abertura, leitura e fechamento a outras mais rebuscadas como o cálculo de espaço no disco rígido, tamanho do arquivo, gestão de direitos de acesso...
Neste artigo, pretendemos mostrar quais são as funções mais essenciais para o tratamento de arquivos para posteriormente exemplificá-las em um par de scripts que podem ser úteis:
| Funções de gestão de arquivos |
| Função |
Descrição |
Sintaxe |
| copy |
Copia um arquivo |
copy($origem,$destino) |
| rename |
Muda o nome do arquivo de $antes a $depois |
rename($antes,$depois) |
| unlink |
Exclui o arquivo |
unlink($arquivo) |
| Funções para a leitura de arquivos |
| Função |
Descrição |
Sintaxe |
| fopen |
Abre um arquivo e lhe atribui um identificador id. Veremos o modo mais adiante |
$id = Fopen($arquivo, $modo) |
| fgets |
Lê uma linha de um arquivo até um número máximo de caracteres |
fgets($id,$max) |
| fwrite |
Escreve uma cadeia dentro do arquivo |
fwrite($id, $cadeia) |
| fseek |
Avança ou retrocede o ponteiro do arquivo um certo número de posições |
fseek($id,$posições) |
| feof |
Comprova se o ponteiro que lê o arquivo chegou ao final |
feof($id) |
| fpassthru |
lê completamente o arquivo e o mostra |
fpassthru($id) |
| fclose |
Fecha ao arquivo aberto previamente |
fclose($id) |
As operações mais elementares, copiar, excluir e mudar o nome, requerem unicamente o nome (e path) do arquivo sobre o qual se exerce a operação. Para operações mais complexas, como a leitura de linhas ou a escritura de texto dentro do arquivo, se requer uma prévia abertura do arquivo ao qual lhe atribuiremos um identificador
$id.
Uma vez aberto o arquivo, podemos nos deslocarmos ao longo dele através de um ponteiro imaginário que avança ou retrocede pelas linhas de texto e mediante o qual nos situaremos no lugar escolhido para inserir, modificar ou simplesmente copiar uma cadeia.
Existem distintos modos de abertura que nos permitem definir as ações que podemos realizar sobre o arquivo. Aqui mostramos os diferentes modos que, como se vê, são do mais variado:
| Modos de abertura de arquivos |
| Sintaxe |
Descrição |
| 'r' |
Só leitura |
| 'r+' |
Leitura e escritura |
| 'w' |
Só escritura |
| 'w+' |
Leitura e escritura. Suprime o conteúdo anterior se se escreve. O arquivo é criado se não existe. |
| 'a' |
Só escritura. O arquivo é criado se não existe e o ponteiro se coloca ao final. |
| 'a+' |
Leitura e escritura. O arquivo é criado se não existe e o ponteiro se coloca ao final. |
A notar que se tratarmos com arquivos em binário temos de colocar uma
b diante do modo (ex. ba, bw+,...)
Lembramos que esta lista não é mais que uma recopilação e que muitas
outras funções relacionadas podem também ser úteis.