A função fopen() é usada para abrir arquivos no PHP.
O primeiro parâmetro desta função contem o nome do arquivo a ser aberto e o segundo parâmetro especifica em que modo ele deve ser aberto:
Exemplo:
1:<html>
2:<body>
3:<?php
4: $file = fopen("arquivo.txt" , "r");
5:?>
6:</body>
7:</html>
O arquivo pode ser aberto em qualquer um dos seguintes modos:Modo | Descrição |
---|---|
r | Somente leitura. Inicia no inicio do arquivo. |
r+ | Leitura e escrita. Inicia no inicio do arquivo. |
w | Somente escrita. Abre e limpa o conteúdo do arquivo, ou cria um novo arquivo se ele não existe. |
a | Apençar(Apend).Abre e escreve no final do arquivo, ou cria um novo arquivo se ele não existe. |
a+ | Ler/Apençar(Append).Abre e escreve no final do arquivo (preservando o seu conteúdo), ou cria um novo arquivo se ele não existe. |
x | Somente escrita.Cria um novo arquivo. Retorna falso ou um erro se o arquivo já existe. |
Nota: Se a função não conseguir abrir o arquivo ela retorna 0(falso).
Exemplo
O exemplo a seguir gera uma mensagem se a função fopen() não consegue abrir o arquivo especificado.
1:<html>
2:<body>
3:<?php
4:$file = fopen("arquivo.txt", "r") or exit("Não foi possível abrir o arquivo");
5:?>
6:</body>
7:</html>
Fechando um arquivoA função fclose() é usada para fechar um arquivo:
1:<?php
2:$file = fopen("arquivo.txt","r");
3://código a ser executado
4:fclose($file);
5:?>
Verificando o final do arquivoA função feof() checa se o o final do arquivo (EOF) chegou. É uma função útil para a iteração de de dados de tamanho desconhecido.
Nota: Você não pode ler feof() de arquivos abertos nos modos w, a ou x!
1:<?php
2:if (feof($file))
3: echo "End of file";
4:?>
Lendo um arquivo linha por linhaA função fgets() é usada para ler uma única linha de um arquivo.
Nota: Depois de uma chamada a esta função o ponteiro do arquivo move-se para a próxima linha.
Exemplo
O exemplo abaixo lê um arquivo linha por linha até o final do arquivo:
1:<?php
2:$file = fopen("arquivo.txt", "r")
3: or exit("Não é possível abrir o arquivo!");
4:while(!feof($file)) {
5: echo fgets($file). "<br />";
6:}
7:fclose($file);
8:?>
Lendo um arquivo letra por letraA função fgetc() é usada para ler um único caractere de um arquivo..
Nota: Depois de uma chamada a esta função o ponteiro do arquivo move-se para o próximo caractere.
Exemplo
O exemplo abaixo lê um arquivo letra por letra, até o final do arquivo:
1:<?php
2:$file = fopen("arquivo.txt","r")
3: or exit("Não foi possível abrir o arquivo!");
4:while (!feof($file)) {
5: echo fgetc($file);
6:}
7:fclose($file);
8:?>
Referência para as funções de arquivosPara uma referência completa sobre as funções de arquivos, visite a documentação do PHP.
Fonte
Achei seu blog muito interessante e já me inscrevi. Tenho uma dúvida quanto a utilização do fopen Como formato a saída de um formulário html com method=post e action para um arquivo php com a função fopen escrevendo estas variáveis para um novo arquivo.Gostaria que este novo arquivo criado com o fopen ficasse adequadamente formatado com algumas tags html. Poderia me ajudar? desde já muito obrigado
ResponderExcluirOlá Lula, como eu fiz? Use uma variavel para o fopen ->
Excluir$f=fopen("arquivo.txt","w");
fwrite($f,"qualquer coisa");
fwrite($f,"SINAL MENOR html SINAL MAIOR SINAL MENOR BARRA html SINAL MAIOR etc. etc.");
fclose($f);
Vc poderá escrever uma página inteira, seja de html ou de php etc.
Se Vc usar
$f=fopen("arquivo.php","w"), // este criará um arquivo com extenção .php.
Consegui colocar algumas tags html no arquivo gerado com fopen com o parâmetro w. Na realidade o meu objetivo é que meu usuário veja o arquivo html, portanto preciso formatá-lo da melhor maneira possível. Obrigado pela resposta.
Excluirolá
ResponderExcluira funçao fopen(r, eof) lê linha por linha, mas não consegui ainda selecionar numa linha uma palavra . Já usei a função explode, mas ainda não me adaptei. Como faz??
Oi Moacir. A função explode pode ser usada para separar as palavras. A assinatura dela de acordo com documentação do PHP é :
Excluirarray explode ( string $delimiter , string $string [, int $limit ] )
Portanto para separar palavras de uma forma mais simples você usaria explode(" ", $linha).
Voce pode ver a documentação da função em http://php.net/manual/pt_BR/function.explode.php.
Grande abraço.
THIS ARTICLE IS GOOD. IF YOU WANT MORE INFORMATION WITH EXTRA KNOWLEDGE THEN VISIT HERE
ResponderExcluirFILE HANDLING IN PHP