standardLib – PHP framework
forceDownload
Dipendenze: nessuna
Disponibile dalla versione: 0.8
Descrizione
Il modello forceDownload permette di forzare il download di un file che verrebbe altrimenti eseguito da un’applicazione (file musicali, immagini, pdf). Grazie a questo modello, sarà possibile il download di questi tipi di file senza che debbano essere portati in altri formati (zip, rar, ecc…). Visto che tipicamente in questi casi il nome del file viene passato nella querystring dell’url, forceDownload pone molta attenzione alla sicurezza, evitando che modificando manualmente la querystring sia possibile scaricare qualunque file.
Lista dei parametri
| Parametro | Descrizione | Default |
|---|---|---|
| allowedPath | La/le cartelle dalle quali è possibile scaricare files. da passare in forma di array. Nota: per questioni di sicurezza, è obbligatorio che almeno uno tra i due parametri allowedFiles o allowedPath sia valorizzato. In caso contrario il modello andrà in errore. | |
| allowedFiles | I nomi dei files autorizzati per il download in forma di array. Nota: per questioni di sicurezza, è obbligatorio che almeno uno tra i due parametri allowedFiles o allowedPath sia valorizzato. In caso contrario il modello andrà in errore. | |
| allowedExtensions | Definisce quali estensioni possono avere i files da scaricare in forma di array. Se non valorizzato autorizza tutte le estensioni |
Lista dei metodi e delle proprietà
| Proprietà – Metodo | Descrizione | Return |
|---|---|---|
| downloadFile($filename) | Passa il nome/percorso del file da scaricare |
forceDownload: esempio minimo
Si supponga di ricevere il nome del file con metodo GET.
Di voler autorizzare il download unicamente dalla catella files/download per i files con estensione jpg, gif e png.
include '../standardLib/engine.php';
_setOptions('allowedPath' => array('files/download'),
'allowedExtensions' => array('jpg','gif','png');
$model->downloadFile($_GET['name']);

