Codice PHP Download File: forzare il download per scaricare un file

Codice PHP Download File: forzare il download per scaricare un file

Codice PHP Download File: forzare il download per scaricare un file

Realizzando una Web Application in linguaggio PHP, può essere necessario abilitare una funzione che consente di forzare il download per scaricare un file. Il Codice PHP per il download di file è molto semplice ma in rete si trovano diversi codici che spesso non funzionano o generano dei file corrotti quindi non apribili.

Inserisco quindi un codice testato e funzionante per il download di un file .ZIP o PDF o JPEG o JPG. Per altre tipologie di file, sarà sufficiente modificare la tipologia di file da scaricare:

 

$file_name = "nomefile.zip";
if( !is_file($file_name) )
exit();
if(ini_get('zlib.output_compression'))
ini_set('zlib.output_compression', 'Off');
switch(strtolower(substr(strrchr($file_name,'.'),1)))
{
case 'pdf': $mime = 'application/pdf'; break;
case 'zip': $mime = 'application/zip'; break;
case 'jpeg':
case 'jpg': $mime = 'image/jpg'; break;
default: exit();
}
header('Pragma: public');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Last-Modified: '.gmdate ('D, d M Y H:i:s', filemtime ($file_name)).' GMT');
header('Cache-Control: private',false);
header('Content-Type: '.$mime);
header('Content-Disposition: attachment; filename="'.basename($file_name).'"');
header('Content-Transfer-Encoding: binary');
header('Content-Length: '.filesize($file_name));
header('Connection: close');
ob_clean();
readfile($file_name);

Leave a Reply