Descripción
int
fpassthru ( resource gestor)
Lee hasta EOF en el apuntador de archivo dado a partir de la
posición actual y escribe los resultados en el
búfer de salida.
Si ocurre un error, fpassthru() devuelve
FALSE. De lo contrario, fpassthru() devuelve
el número de caracteres leídos desde
gestor y pasados a la salida.
El puntero de fichero debe de ser
valido y debe de apuntar a un fichero abierto con exito por
fopen() o fsockopen().
Puede que necesite llamar rewind() para
restablecer el apuntador de archivo al comienzo de éste si
ya ha escrito datos en el archivo. El archivo es cerrado cuando
fpassthru() ha terminado de leerlo (causando
que gestor se vuelva inútil).
Si tan sólo quiere volcar el contenido de un archivo al
búfer de salida, sin modificarlo o buscar un
desplazamiento en particular, puede que quiera usar la
función readfile(), la cual le ahorra
la llamada a fopen().
Nota:
Cuando se usa fpassthru() sobre un archivo
binario en sistemas Windows, debe asegurarse de abrir el archivo
en modo binario, agregando el valor b al modo
usado en la llamada a fopen().
Es recomendable usar la bandera b cuando
trate con archivos binarios, incluso si su sistema no lo
requiere, de modo que sus scripts sean más portables.
Ejemplo 1. Uso de fpassthru() con archivos
binarios
<?php
// abrir el archivo en modo binario $nombre = ".\public\dev\img\ok.png"; $aa = fopen($nombre, 'rb');
// enviar las cabeceras correctas header("Content-Type: image/png"); header("Content-Length: " . filesize($nombre));
// volcar la imagen y detener el script fpassthru($aa); exit;
?>
|
|
Vea también readfile(),
fopen(), popen(), y
fsockopen()