standardLib – PHP framework
Upload
Dipendenze: standardTools
Descrizione
Il modello Upload provvede a gestire il processo di upload di un file, verificando parametri di sicurezza e di impostazione come ad esempio:
- Dimensione del file
- Estensioni ammesse
- Abilitare o meno l’overwrite in caso di nomi file uguali
- Riscrittura del nome file
- Verifica della legittimità della richiesta
- Salvataggio nella cartella di destinazione
Lista dei parametri
| Parametro | Descrizione | Default |
|---|---|---|
| SavePath | La cartella di destinazione dove salvare il file | Valore di DEFAULT_SAVE_PATH in config.php |
| fileName | Nome assegnato nel form al campo file | uploadFile |
| OverWrite | Nel caso il file caricato abbia lo stesso nome di un file già presente nella cartella sovrascrivere (TRUE) o interrompere (FALSE) | TRUE |
| extensions | Estensioni di file ammesse in forma di array. Impostato a “0″ ammette qualsiasi estensione | 0 |
| pName | Nome del campo form (hidden) utilizzato per far passare una valore atto a verificare che il file arrivi dal nostro form (facoltativo, disattivato se impostato su “0″) | 0 |
| pKey | Valore del campo (hidden) descritto precedentemente (facoltativo, disattivato se impostato su “0″) | 0 |
| size | Dimensione massima del file caricato espressa in byte (“0″ per nessun limite) | 0 |
| rename | E’ consigliabile non salvare i file con il loro nome originale che potrebbero contenere caratteri particolari o spazi con rename attivato (1), il nome del file viene sostituito con una stringa casuale di 20 caratteri | 1 |
Lista dei metodi e delle proprietà
| Proprietà – Metodo | Descrizione | Return |
|---|---|---|
| uploadFile() | Attiva il processo di upload | |
| uploadErrorReport | Se si è verificato un errore ne contiene la descrizione. Se il processo è andato a buon fine contiene FALSE. | |
| filename | Contiene il nome assegnato al file | Stringa |
Esempio minimo
Sarà necessario disporre di un form per il caricamento del file:
Si noti che l’utilizzo del metodo POST è obbigatorio come pure l’enctype settato a multipart/form-data.
A riga 3, viene inserito un campo nascosto dal nome control e con valore upload. Si tratta di un’ulteriore verifica della richiesta e non è obbligatoria. Ma se la si utilizza, bisognerà specificare questi valori in fase di inizializzazione del modello.
Vediamo ora il file upload.php al quale punta il form. Supponiamo di voler accettare unicamente file con estensione gif, jpg e png con una dimensione massima di 100Kb, e di voler salvare il file nella medesima cartella del file upload.php.
Alla vine verifichiamo se il processo è andato a buon fine, e preleviamo il nome del file (che se non altrimenti specificato, viene rinominato).
include_once 'standardLib/engine.php';
_setOptions('fileName' => 'upfile',
'SavePath' => './',
'size' => 102400,
'extensions' => array('gif','png','jpg'),
'pName' => 'control',
'pKey' => 'upload');
if(isset($_POST['submit']))
{
$model->uploadFile(); // attiva il modello upload
}
if($model->uploadErrorReport)
{
echo '
' . $model->uploadErrorReport . '
';
}
else
{
echo '
File caricato correttamente e rinominato in ' . $model->filename . '
';
}

