Resumo : neste tutorial você aprenderá como abrir um arquivo em PHP usando a fopen()
função.
Introdução à função PHP fopen()
Antes de ler ou gravar em um arquivo, você precisa abri-lo. Para abrir um arquivo, você usa a fopen()
função da seguinte forma:
fopen ( string $filename , string $mode , bool $use_include_path = false , resource $context = ? ) : resource
Linguagem de código: PHP ( php )
O fopen()
possui os seguintes parâmetros:
$filename
é o caminho para o arquivo que você deseja abrir.$mode
especifica o tipo de acesso necessário ao fluxo. Veja a tabela abaixo.$use_include_path
determina sefopen()
também deve procurar o arquivo no caminho de inclusão.$context
especifica o contexto do fluxo .
O fopen()
retorna o recurso de ponteiro de arquivo se ele abrir o arquivo com êxito ou false
se não conseguir abrir o arquivo.
A tabela a seguir mostra o tipo de acesso do $mode
parâmetro:
Modo | Leitura | Escrita | Ponteiro de arquivo | O arquivo não existe, criar? | Se o arquivo existir |
---|---|---|---|---|---|
‘r’ | Sim | Não | No início do arquivo | Não | |
‘r+’ | Sim | Sim | No início do arquivo | Não | |
‘c’ | Não | Sim | No início do arquivo | Não | |
‘c+’ | Sim | Sim | No início do arquivo | Sim | |
‘a’ | Não | Sim | No final do arquivo | Sim | |
‘um+’ | Sim | Sim | No final do arquivo | Sim | |
‘x’ | Não | Sim | No início do arquivo | Sim | Retorna falso |
‘x+’ | Sim | Sim | No início do arquivo | Sim | Retorna falso |
‘c’ | Não | Sim | No início do arquivo | Sim | |
‘c+’ | Sim | Sim | No início do arquivo | Sim |
Ao trabalhar com um arquivo binário, você precisa anexar o caractere b
ao $mode
argumento. Por exemplo, o 'rb'
modo abre um arquivo binário para leitura.
Depois de abrir um arquivo e concluir o trabalho com ele, você deve sempre fechá-lo. Se você não fechar um arquivo corretamente, isso poderá causar muitos problemas. Por exemplo, talvez você não consiga acessar o arquivo novamente.
Para fechar um arquivo, você passa o ponteiro do arquivo para a fclose()
função:
fclose ( resource $stream ) : bool
Linguagem de código: PHP ( php )
A fclose()
função retorna true
em caso de sucesso ou false
falha.
É uma boa prática verificar se existe um arquivo antes de abri-lo.
Exemplo de arquivos abertos em PHP
O exemplo a seguir usa o fopen()
para abrir o readme.txt
arquivo para leitura:
<?php
$filename = 'readme.txt';
if (!file_exists($filename)) {
die("The file $filename does not exist.");
}
$f = fopen($filename, 'r');
if ($f) {
// process the file
// ...
echo 'The file ' . $filename . ' is open';
fclose($f);
}
Linguagem de código: HTML, XML ( xml )
Como funciona.
- Primeiro, use a
file_exists()
função para verificar se oreadme.txt
arquivo existe. Caso contrário, lance uma exceção dizendo que o arquivo não existe. - Segundo, use a
fopen()
função para abrirreadme.txt
para leitura. - Terceiro, feche o arquivo no
finally
bloco somente se o ponteiro do arquivo não fornull
.
Resumo
- Use a
fopen()
função para abrir um arquivo para leitura, gravação e acréscimo. - Sempre use a
fclose()
função para fechar o arquivo que foi aberto pelafopen()
função.