Un Evento Unico. 5 Sale. 27 Interventi. SEO, SOCIAL, E-Commerce, Mobile, Turismo.
CLICCA QUI e SCOPRI DI PIù X Chiudi

Visualizza un messaggio singolo
Vecchio 11-03-09, 21:42   #1 (permalink)
Samyorn
Consiglio Direttivo
 
L'avatar di Samyorn
 
Data di registrazione: Dec 2007
Ubicazione: Catania
Messaggi: 5,845
Invia un messaggio tramite ICQ a Samyorn Invia un messaggio tramite Skype a Samyorn
[File e Cartelle] readfile();

PHP 4, 5
Sintassi: int readfile ( string $file [,bool $include_path=false [, resource $context ]] )

Readfile è una funzione di PHP che serve ad inviare un file come output (download da browser) sfruttando gli opportuni header.
La funzione restituisce il numero di byte relativi al file puntato ($file). In caso di errore nella lettura del file restituirà invece FALSE.

Vari esempi di utilizzo sono presenti sul sito di php.net, quì.
Ne riporto uno, il più semplice, che utilizza dei normalissimi header di output transfer, presente nella pagina sopra lincata:
Codice PHP:
<?php
$file 
'monkey.gif';

if (
file_exists($file)) {
    
header('Content-Description: File Transfer');
    
header('Content-Type: application/octet-stream');
    
header('Content-Disposition: attachment; filename='.basename($file));
    
header('Content-Transfer-Encoding: binary');
    
header('Expires: 0');
    
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    
header('Pragma: public');
    
header('Content-Length: ' filesize($file));
    
ob_clean();
    
flush();
    
readfile($file);
    exit;
}
?>
E' importante avere gli adeguati permessi di lettura sul file puntato dalla funzione.

Opzionalmente è possibile ricercare il file all'interno della include_path stabilita impostandola su TRUE.

Con la risorsa $context è possibile richiamare una funzione di flusso (Stream Functions).
__________________
Qui, Quo, Qua
Si parla poco di SMF? Sentiamo l'opinione di chi lo ha provato. Ti amo...brindiAMO?
Conosci GTLab? Devi scegliere un CMS per Forum e non sai quale? Guarda quì!!
Samyorn non in linea   Rispondi citando