Leitura sequencial de ficheiros com PHP

Aprende a utilizar a função fgets para ler ficheiros de texto com um exemplo prático.

Por Miguel Angel Alvarez - Tradução de JML


Publicado em: 19/9/04
Valorize este artigo:
Continuemos com a nossa aprendizagem prática do uso de ficheiros em PHP. Já vimos como abrir um ficheiro através da função fopen com um exemplo prático de como verificar uma URL. O seguinte passo é aprender a ler o conteúdo do ficheiro, tarefa que levaremos a cabo por meio da função fgets.

Esta função encarrega-se de ler linha a linha o conteúdo de um ficheiro de texto pelo que a sua utilização tem de ser incluída dentro de uma estrutura de tipo loop.

No exemplo que veremos a seguir utilizámos esta leitura sequencial para localizar dentro de um texto uma cadeia qualquer a que, a seguir, lhe mudaremos o formato para a por em negrito através da etiqueta <b>. Isto pode-nos ser útil se precisamos de efetuar procuras internas no nosso site e queremos ver claramente a cadeia que procurávamos no texto da página encontrada.

Evidentemente, a utilidade de fgets é muito mais ampla. Podemos emprega-la, por exemplo, com ficheiros remotos para extrair as etiquetas meta ou para outras muitas coisas das que nos possamos lembrar.

Vejamos o seguinte script:

<?
function negrito($path,$cadeia)
{
   //Iniciamos a variável
   $texto = "";
   //Abrimos o ficheiro em modo leitura
   $fp = fopen($path,"r");
   //Lemos linha a linha o conteúdo do ficheiro
   while ($linha= fgets($fp,1024))
   {
      //Substituímos as ocorrência da cadeia que procurávamos
      $linha = str_replace($cadeia,"<b>$cadeia</b>",$linha);
      //Acrescentamos a linha modificada ao texto
      $texto .= $linha;
   }
   return $texto;
}
//Definimos o path e l cadeia
$path="escreve o caminho de acesso ao teu ficheiro";
$cadeia = "escreve a tua cadeia";
//Chamamos à função
$texto = negrito ($path,$cadeia);
//Mostramos o texto
echo $texto;
?>


Podem ver o resultado desta função numa variante do script onde incluímos um formulário para receber o parâmetro cadeia e que procura as ocorrências dentro do texto deste artigo:

Introduz a cadeia de procura:

O script é utilizado em forma de função para facilitar-nos na hora de utiliza-la e armazena-la. O seu modo de operar é o seguinte:

  • Inicia a variável texto na qual iremos armazenando as linhas lidas no loop.
  • Abre o ficheiro (local ou remoto) em modo leitura com da função fopen.
  • Lê uma a uma as linhas do ficheiro até um comprimento de 1024 caracteres e muda as possíveis ocorrências da cadeia que procuramos pela mesma cadeia colocada entre as etiquetas e por meio da função str_replace. O texto, modificado ou não, é armazenado numa variável texto.
  • Retornamos a variável texto como resultado da função.

O resto do script é simplesmente um exemplo de chamada a função onde os parâmetros path e cadeia tem de ser especificados.






Usuários :    login / registro

Manuais relacionados
Categorias relacionadas
O autor

Home | Sobre nós | Copyright | Anuncie | Entrar em contato