Función fpassthru() de PHP
Definición y uso
fpassthru() devuelve todos los datos restantes del puntero de archivo.
Esta función lee desde el puntero de archivo dado hasta EOF y escribe los resultados en el búfer de salida.
Sintaxis
fpassthru(file)
Parámetros | Descripción |
---|---|
file | Necesario. Especifica el archivo o recurso abierto que se debe leer. |
Descripción
Si ocurre un error, fpassthru() devuelve false. De lo contrario, fpassthru() devuelve desde file leer y pasar al número de caracteres del flujo de salida.
el puntero de archivo debe ser válido y debe apuntar a un archivo fopen() o fsockopen() abre con éxito (pero aún no ha sido fclose() de archivos cerrados).
Avisos y comentarios
Consejo:Si ya se ha escrito datos en el archivo, es necesario llamar rewind() para hacer que el puntero de archivo apunte al inicio del archivo.
Consejo:Si no se modifica el archivo ni se realiza una búsqueda en una ubicación específica, sino que solo se desea descargar el contenido del archivo a la caché de salida, debe usar readfile()de esta manera, se puede evitar la llamada a fopen().
Comentarios:Cuando se utiliza fpassthru() en archivos binarios en sistemas Windows, asegúrese de que al abrir el archivo con fopen() se adjunte b en el modo para abrir el archivo en modo binario. Se recomienda usar el marcador b al manejar archivos binarios, incluso si el sistema no lo necesita, para mejorar la portabilidad del script.
Ejemplo
Ejemplo 1
<?php $file = fopen("test.txt","r"); // Leer la primera línea fgets($file); // Enviar el resto del archivo a la caché de salida echo fpassthru($file); fclose($file); ?>
Salida:
Hay tres líneas en este archivo. Esta es la última línea.59
Nota:59 indica el número de caracteres transmitidos.
Ejemplo 2
Desmontar la página de index del servidor www:
<?php $file = fopen("http://www.example.com","r"); fpassthru($file); ?>