PHP: gestire il download diretto dei file audio

I file audio sono in genere gestiti dai browser chiamando l'applicazione predefinita usata per gestirli o direttamente. 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 my_download_audio_file($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); // non sovrascrive il precedente
	header('Content-Type: '. $mime);
	header('Content-Disposition: attachment; filename="' . basename($file) . '"');
	header('Content-Transfer-Encoding: binary');
	header('Connection: close');
	readfile($file);
	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