PHP: forzare il download dei file audio

PHP: forzare il download dei file audio

I file audio (come gli MP3) sono in genere gestiti dai browser chiamando l'applicazione predefinita usata per gestirli. A volte tuttavia c'è l'esigenza di forzare il download di questi file piuttosto che farli aprire nel browser. Vediamo come fare.

Possiamo usare la seguente funzione:


function downloadAudioFile( $file )
{
    $fileName = $file;
    $mime = 'application/force-download';
	header('Pragma: public'); 	// richiesto
	header('Expires: 0');		// nessuna cache
	header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
	header('Cache-Control: private',false);
	header('Content-Type: '. $mime);
	header('Content-Disposition: attachment; filename="' . basename($fileName) . '"');
	header('Content-Transfer-Encoding: binary');
	header('Connection: close');
	readfile($fileName);
	exit();
}

Dato che la funzione imposta gli header HTTP andrebbe utilizzata da sola, ovviamente senza generare alcun tipo di output dopo di essa.

Torna su