fpassthru

(PHP 4, PHP 5, PHP 7)

fpassthruEscribe toda la información restante de un puntero a un archivo

Descripción

fpassthru ( resource $handle ) : int

Lee hasta EOF en el puntero al archivo dado desde la posición actual y escribe los resultados en el buffer de salida.

Puede necesitar llamar a rewind() para reiniciar el puntero al archivo al principio del archivo si ya se ha escrito información en el archivo.

Si sólo quiere verter los contenidos de un archivo en el buffer de salida, sin modificarlo primero o buscar un índice en particular, puede usar la función readfile(), la cual le libera de llamar a fopen().

Parámetros

handle

El fichero al que se apunta debe ser válido, y debe apuntar a un fichero abierto por fopen() o fsockopen() (y que todavía no esté cerrado por fclose()).

Valores devueltos

Si se produjo un error, fpassthru() devuelve FALSE. De otro modo, fpassthru() devuelve el número de caracteres leídos desde handle y pasados hacia la salida.

Ejemplos

Ejemplo #1 Usar fpassthru() con archivos binarios

<?php

// abre el archivo en modo binario
$nombre './img/ok.png';
$fp fopen($nombre'rb');

// envía las cabeceras correctas
header("Content-Type: image/png");
header("Content-Length: " filesize($nombre));

// vuelca la imagen y detiene el script
fpassthru($fp);
exit;

?>

Notas

Nota:

Cuando se usa fpassthru() sobre un archivo binario en sistemas Windows, debería asegurarse de abrir el archivo en modo binario añadiendo b al modo usado en la llamada a fopen().

Se le anima a usar la bandera b cuando trata con archivos binarios, incluso si su sistema no lo requiere, por lo que sus scripts serán más portables.

Ver también

  • readfile() - Realizar la salida de un fichero
  • fopen() - Abre un fichero o un URL
  • popen() - Abre un proceso de un puntero a un fichero
  • fsockopen() - Abre una conexión vía sockets a Internet o a un dominio Unix