Dalle foto di famiglia ai documenti aziendali, file uploads potenzia molte delle applicazioni web più importanti.
L'oggetto $_FILES
⤽
Un tipico form in HTML che consente all’utente di caricare un file potrebbe assomigliare a questo:
In questo caso, l’unico campo visualizzato dal form sarà il campo “file”. Questo campo permette all’utente di navigare sul proprio disco rigido per cercare il file che si desidera caricare. La specifica enctype “multipart/form-data” indica che il campo deve essere compilato con dati binari, come un file, piuttosto che da un input digitato dall’utente.
Le applicazioni PHP consentono agli utenti di caricare i file attraverso il suo oggetto
Tipo di File<html> <body> <form action="upload_file.php" method="post" enctype="multipart/form-data"> Nome File: <input type="file" name="file" id="file" /> <br /> <input type="submit" name="submit" value="Invia" /> </form> </body> </html>
Le applicazioni PHP consentono agli utenti di caricare i file attraverso il suo oggetto
$_FILES
. Gli sviluppatori possono utilizzare l’oggetto $_FILES
per controllare le proprietà di un file caricato:
$_FILES["file"]["name"]
– il nome del file caricato$_FILES["file"]["type"]
– il tipo del file caricato$_FILES["file"]["size"]
– la dimensione in byte del file caricato$_FILES["file"]["tmp_name"]
– il nome della copia temporanea del file memorizzato sul server$_FILES["file"]["error"]
– il codice di errore risultante dal caricamento di file
Per i file che si caricano con successo, il valore di $_FILES[“file”][“error”] è pari a 0. Tuttavia, alcuni sviluppatori potrebbero voler porre delle restrizioni sui files che gli utenti possono caricare.
⤽
Gli sviluppatori possono utilizzare la proprietà
Dimensione del file$_FILES["file"]["type"]
per limitare i tipi di file da caricare da quelli in uso per l’applicazioni specifica. Ad esempio, le imprese possono voler limitare i tipi di file per documenti, fogli di calcolo e presentazioni, ma non permetterà agli utenti di pubblicare foto, video o programmi eseguibili.<?php if (($_FILES["file"]["type"] != "application/msword") || ($_FILES["file"]["type"] != "application/vnd.ms-excel ") || ($_FILES["file"]["type"] != "application/vnd.ms-powerpoint")) { echo "Tipo invalido di file"; } ?>
⤽
Gli amministratori di rete possono inoltre scegliere di limitare le dimensioni dei file che gli utenti possono caricare sul server al fine di ridurre l’utilizzo della larghezza di banda. Gli sviluppatori possono impostare dei limiti sulle dimensioni di un file che un utente può caricare.
Tempo di scadenza<?php if ($_FILES["file"]["size"] < 25000)) // Dimensione massima: 25KB { echo "La dimensione del file supera il massimo consentito."; } ?>
⤽
Un altro metodo che gli amministratori utilizzano per risparmiare larghezza di banda è di limitare il tempo che una pagina può impiegare per caricare un file. La maggior parte delle applicazioni PHP ha il time out dopo 30 secondi, ma lo sviluppatore può impostare il tempo come poco o tanto, se necessario modificando il file php.ini sul server o impostare il tempo nell’applicazione stessa.
Nel caso del file PHP.INI modificare la voce
Come script PHP
Assegnazione della DirectoryNel caso del file PHP.INI modificare la voce
max_input_time
a 300Come script PHP
<?php // codice che carica il file in una directory temporanea ini_set('max_input_time', 300); // codice che sposta il file in nuova directory ?>
⤽
I files caricati quindi hanno bisogno di essere memorizzati in una directory sul server. Il metodo
Tali restrizioni possono consentire all’utente la libertà di caricare i file di cui ha bisogno, evitando in gran parte del danno volontario o accidentale che può verificarsi quando i file vengono trasmessi sulla rete.
move_uploaded_file()
sposta il file caricato dalla directory temporanea alla directory assegnata.<?php //assegnazione della Directory $uploaddir = '/user/www/uploads/'; //assegnazione della Directory e il nome del file $uploadfile = $uploaddir . basename($_FILES['file']['name']); // controlla se il file tmp_name è stato caricato con successo if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) { echo "File caricato con successo.\n"; } else { echo "Carica del file non riuscita\n"; } ?>
Tali restrizioni possono consentire all’utente la libertà di caricare i file di cui ha bisogno, evitando in gran parte del danno volontario o accidentale che può verificarsi quando i file vengono trasmessi sulla rete.
So now it comes full circle returning to the consumer that has taken on the
role of the blogging site administrator. Readers will move towards other blogs, which will assist them to complete their requirements.
In affiliate marketing online, visitors to a particular website is driven from another website
or from email.