Forzare il download di un file con PHP

Uno script semplice per forzare il download di un file con PHP

Con questo script sarà possibile forzare il download di un file con PHP, si tratta di codice da personalizzare con la valorizzazione della variabile $path e $name. Il suo scopo è quello di predisporre (forzando) il download diretto di un file senza rendere però pubblico l’indirizzo assoluto del file.

I valori di path e name possono essere valorizzati da una lettura dal db, in relazione ad un ID che andremo a fornire in modalità GET.

<?php

$path = "indirizzo/del/file/";
$name = "nomedelfile.ext";
$size = filesize($path); //calcola dimensione del file

header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Cache-Control: private');
header('Pragma: no-cache');
header("Content-Transfer-Encoding: binary");
header("Content-type: {$path['mime']}");
header("Content-length: {$size}");
header("Content-disposition: attachment; filename=\"{$name}\"");
readfile($path);
exit;

?>

Controlliamo ciclicamente il funzionamento dei link nei nostri articoli. Se noti dei link che non funzionano segnalacelo tra i commenti. Se hai apprezzato l'articolo considera l'idea di sostenere il blog anche con una piccola donazione. Grazie. Patreon / Ko-fi / Liberapay / Paypal

Lascia un commento

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