lunes, 10 de noviembre de 2014

PHP (08) Archivos (03) Lectura de archivo caracter a caracter fgetc

La función fgetc() lee el archivo carácter a carácter, lo cual puede ser útil si se quiere tener un control muy preciso de la lectura.
Como en el ejemplo anterior, debemos de abrir el archivo que queremos leer y después colocar la función en un while, que estará leyendo el archivo hasta que devuelva un FALSE, que es cuando el archivo termina.
Para hacer que se pueda ver por pantalla, es tan fácil como introducir un echo.
Finalmente se cierra el archivo y ya esta.
Nuestro pequeño script quedaría así:
<?php
$handle = fopen("archivo/file.txt", "r");
if($handle){
 echo '<p>El archivo se ha abierto correctamente</p>';
 while ($char = fgetc($handle)){
  echo $char;
 }
 fclose($handle);
}else{
 echo 'ERROR AL ABRIR EL ARCHIVO';
}
?>

Lo cual nos daría un resultado como este:
El archivo se ha abierto correctamente
Este es el archivo de prueba

Así podemos ver el archivo, pero no nos hace los saltos de línea, para ello debemos de introducir una pequeña instrucción if que nos permita representar el fichero tal y como se encuentra en su estado normal:
<?php
$handle = fopen("archivo/file.txt", "r");
if($handle){
 echo '<p>El archivo se ha abierto correctamente</p>';
 while ($char = fgetc($handle)){
  if ($char == "\n"){
   $char='<br>';
  }
  echo $char;
 }
 fclose($handle);
}else{
 echo 'ERROR AL ABRIR EL ARCHIVO';
}
?>

Hay que tener en cuenta que $char == "\n" es necesario utilizar dobles comillas, ya que de lo contrario no funcionará.
El resultado final de nuestro script sería tal y como esta escrito el archivo:
El archivo se ha abierto correctamente
Este
es
el
archivo
de
prueba

No hay comentarios:

Publicar un comentario