fpassthru

Invia tutti i dati rimanenti su un puntartore a file

Descrizione

int fpassthru(resource $handle)

Legge fino a EOF sul puntatore al file dato e scrive i risultati sul buffer di output.

Se si verifica un errore, fpassthru restituisce false. In caso positivo fpassthru restituisce il numero di caratteri letti da handle scritti in output.

Può essere necessario chiamarerewind per resettare il puntatore al file all'inizio del file stesso nel caso si abbbia già scritto dai dati nel file. Il file viene chiuso quando si sia chiamata fpassthru leggendolo (lasciandohandle inutilizzato).

Se desideri semplicemente inviare il contenuto di un file sul buffer di output, senza doverlo modificare o posizionarti in un particolare offset, potresti preferire readfile, che ti salva la chiamata a fopen.

Nota: Quando si utilizza fpassthru con file binari su sistemi Windows si dovrebbe essere certi di aprire il file in modalità binaria aggiungendo b alla modalità utilizzata nella chiamata a fopen. Si incoraggia l'uso del flag b quando si trattano file binari, anche se il sistema non lo richiede; in questo modo si rendono gli script più trasportabili.

Utilizzo di fpassthru con file binari <?php // apre il file in modalità binaria $name = ".\public\dev\img\ok.png"; $fp = fopen($name, 'rb'); // invia i giusti header header("Content-Type: image/png"); header("Content-Length: " . filesize($name)); // invia l'immagine ed esce dallo script fpassthru($fp); exit; ?>

Vedere anche readfile, fopen, popen e fsockopen