Traductor




Función fseek()

En ocasiones deseamos ubicar el puntero de lectura en una determinada posición, para ello contamos con la función fseek(). Esta recibe dos argumentos:
  • El primero es el manejador de fichero sobre el que estamos trabajando
  • El segundo es la posición a la que queremos desplazar el puntero. (Esta posición se toma con respecto al inicio del fichero).
Veamos como funciona:
<?php
// Se define el salto de línea.
    define ("salto","<br>\n");
// Se abre el fichero para lectura.
    $manejadorFichero1=fopen ("lecturaSimple.txt","r");
// Se lee la mitad del fichero
    $contenido=fread ($manejadorFichero1,14);
// Se muestra la mitad leida.
    echo ("La primera mitad del fichero es: <b>$contenido</b>".salto);
    echo ("Nos vamos a desplazar al primer caracter del fichero.".salto);
// Desplazamos el puntero al cuarto carácter.
    fseek ($manejadorFichero1,3);
// leemos el cuarto carácter y lo mostramos
    echo ("El carácter correspondiente a la posición actual es <b>".fgetc($manejadorFichero1)."</b>".salto);
// Se cierra el fichero
    fclose ($manejadorFichero1);
?>
Recuerde que necesita tener alojado el fichero lecturaSimple.txt en el directorio principal, el cual debe contener únicamente un párrafo.
En este ejemplo, observe que el puntero se ha desplazado hasta el caracter en la posición número cuatro, que es el numero tres ya que, como vimos anteriormente, los caracteres empiezan a numerarse desde cero.
En la actualidad, esta función puede recibir un tercer argumento, que indica desde donde va a hacerse el desplazamiento.
Este argumento puede ser una de las tres constantes siguientes:

  • SEEK_SET: Efectúa el desplazamiento desde el inicio del fichero. Es el valor que se asume por defecto, por lo que se puede omitir.
  • SEEK_CUR: Efectúa el desplazamiento desde la posición actual del puntero. Si el segundo argumento es positivo, desplaza el puntero hacia adelante. Si es negativo, lo desplaza hacia atrás.
  • SEEK_END: Efectúa el desplazamiento desde el final del fichero hacia atrás. En este caso el segundo argumento debe ser negativo.
Veamos un ejemplo de esto:
<?php
// Se define el salto de línea.
    define ("salto","<br>\n");
// Se abre el fichero para lectura.
    $manejadorFichero1=fopen ("lecturaSimple.txt","r");
// Se lee la mitad del fichero
    $contenido=fread ($manejadorFichero1,14);
// Se muestra la mitad leida.
    echo ("La primera mitad del fichero es: <b>$contenido</b>".salto);
    echo ("Nos vamos a desplazar al primer caracter del fichero.".salto);
/* Desplazamos el puntero cinco caracteres hacia
atrás desde la posición actual. */
    fseek ($manejadorFichero1,-5,SEEK_CUR);
// leemos el correspondiente carácter y lo mostramos
    echo ("El carácter correspondiente a la posición actual es <b>".fgetc($manejadorFichero1)."</b>".salto);
// Se cierra el fichero
    fclose ($manejadorFichero1);
?>
Ejecute el script y observe su funcionamiento.

Si te hemos ayudado : )

Te agradeceríamos que apoyaras este proyecto



No se te olvide Comentar y Compartir
en:
                          

0 comentarios:

Publicar un comentario