Vorresti linkare un file sul tuo sito, ma questo ha estensione .jpg, .png, .mp4, .mp3, .pdf, … ?

Al contrario di file come ad esempio .zip o .exe che non possono direttamente essere aperti nel browser e verranno quindi scaricati, gli altri andranno ad aprirsi in una nuova scheda del browser.

Come consentire quindi ad un utente di scaricare sul proprio dispositivo i file della prima categoria elencata?




Grazie alla funzione readfile integratra in PHP fare ciò diventa molto semplice:

$file_url = 'http://www.ilmioserver.com/nomedelfile.exe';
header('Content-Type: application/octet-stream');
header("Content-Transfer-Encoding: Binary");
header("Content-disposition: attachment; filename=\"" . basename($file_url) . "\"");
readfile($file_url);

Al posto di $file_url metti il collegamento al file che intendi far scaricare.

In Content-Type devi mettere il MIME type in base all’estensione che ha il file, ad esempio un’immagine .jpg ha come MIME type “image/jpeg”.

Qui trovi la lista completa di tutti i MIME type.






Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *