Ir al contenido


Foto

Leer Fichero con POO


  • Por favor identifícate para responder
2 respuestas en este tema

#1 joseb

joseb

    Newbie

  • Miembros
  • Pip
  • 5 mensajes

Escrito 02 enero 2012 - 01:34

Hola a todos,
como hago para crear una función de contador e insertar el numero de cada linea que se ha mostrado en pantalla.Por ejemplo.
1 - 02011092700900000456520110927
2 - 101201109161      02222222220

//**************** este es el index ***********************************\\

<?php
require_once("leer.php");
$path="./teste.txt";
$cadena = "101201109161";
$le = new Fichero($path,$cadena);
$le->negrita($path,$cadena);
$le->troca($cadena);
$linea=$le->result();
echo $linea;
?>
//**************** [color=red]esta es la class [/color]***********************************\\
<?php
class Fichero{

public function negrita($path,$cadena)
{
//Iniciamos la variable
$this->texto = "";
//Abrimos el archivo en modo lectura
$fp = fopen($path,"r");
//Leemos linea por linea el contenido del archivo
while ($linea= fgets($fp))
{
$this->texto .= $linea."<br>";
}
return $this->texto;

}
//Definimos el path y la cadena

public function troca($cadena){
$linea = $this->texto;
$linea= str_replace($cadena,"<b>$cadena</b>",$linea);
return $this->texto=$linea;
}


public function result(){
return $this->texto;
}

}
?>


//**************** este es el archvivo txt ******************************\\


delphi
  1. 02011092700900000456520110927
  2. 101201109161      02222222220
  3. 101201109161      86222222249
  4. 101201109161      06222222907
  5. 101201109161      02277000400
  6. 101201109161      60222222087
  7. 101201109151      53333333915
  8. 101201109151      21222222229
  9. 101201109141      00444444234
  10. 101201109141      01555555433
  11. 101201109141      05666666288
  12. 101201109141      22227790749
  13. 101201109141      03122222706
  14. 101201109131      07422222249
  15. 101201109131      06222222223
  16. 101201109131      00222222265
  17. 101201109131      02122222290
  18. 101201109131      02333333333
  19. 90000000010



Gracias,
Joseb desde Brasil

  • 0

#2 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 03 enero 2012 - 07:26

Prueba agregandole una variable para incrementarlo dentro del while que lee las lineas del archivo:

<?php
require_once("leer.php");
$path="./teste.txt";
$cadena = "101201109161";
$le = new Fichero($path,$cadena);
$le->negrita($path,$cadena);
$le->troca($cadena);
$linea=$le->result();
echo $linea;
?>
//**************** esta es la class ***********************************\\
<?php
class Fichero{

  public function negrita($path,$cadena)
  {
  //Iniciamos la variable
  $this->texto = "";
  $this->idx = 0;
  //Abrimos el archivo en modo lectura
  $fp = fopen($path,"r");
  //Leemos linea por linea el contenido del archivo
  while ($linea= fgets($fp))
  {
  $this->idx++;
  $this->texto .= $this->idx . ' - ' .$linea."";
  }
      return $this->texto;

  }
  //Definimos el path y la cadena

  public function troca($cadena){
  $linea = $this->texto;
  $linea= str_replace($cadena,"$cadena",$linea);
  return $this->texto=$linea;
  }


  public function result(){
      return $this->texto;
  }

}
?>


No lo he probado, pero esa es la idea.

Saludos.
  • 0

#3 joseb

joseb

    Newbie

  • Miembros
  • Pip
  • 5 mensajes

Escrito 03 enero 2012 - 06:59

Lo he probado y he logrado exito.
Muchissimas gracias  enecumene

Joseb,
desde Brazil
  • 0




IP.Board spam blocked by CleanTalk.