Nella pagina in cui si trova il modulo di invio metti il campo per far
si' che l'utente puo' selezionare un file dalla propria postazione:
<input name="file_send" type="file" />
Ovviamente questo sopra e' solo un campo input.
Nella pagina di ricezione invece:
Codice PHP:
/**
* Funzione per effettuare l'upload
*/
function upload($dir = "directory_file_ricevuti/", $tipo = FALSE, $dim = FALSE, $debug = FALSE)
{
//Impostare la path assoluta del proprio sito
$source_dir = "/var/www/site/home/......etc";
if(!is_uploaded_file($_FILES['file_send']['tmp_name']))
{
$echo = "Nessun file selezionato da inviare al server";
#exit();
}
if(is_uploaded_file($_FILES['file_send']['tmp_name'])){
//Funzione di debug
if($debug != FALSE){
print_r($_FILES);
}
//Controllo che il file non esista nella destinazione
if (is_file($source_dir.$dir.$_FILES['file_send']['name'])){
$echo = "Esiste già un file con lo stesso nome!
Rinominarlo e tentare nuovamente!";
#exit();
}
//Controllo il tipo di file se ne ho definito uno o più obbligatori
if($tipo != FALSE) {
if(is_array($tipo)) {
if(!in_array($_FILES['file_send']['type'],$tipo)) {
$echo = "Tipo file non consentito";
#exit();
}
} else {
if($_FILES['file_send']['type'] != $tipo) {
$echo = "Tipo file non consentito";
#exit();
}
}
}
//Controllo che le dimensioni non superino il massimo consentito
if($dim != FALSE) {
$dimz = $dim * 1024000;
if($_FILES['file_send']['size'] > $dimz) {
$echo = "Il file che si sta cercando di inviare è troppo grande!
la dimensione massime consentita è di " . $dim . " megabyte";
#exit();
}
}
//Controllo che la directory di destinazione sia server writable
if(!is_writable($source_dir.$dir)) {
$echo = "Non si dispone dei permessi necessari!
Contattare l'amministratore del sistema e far settare i permessi della directory [i]" . $dir . "[/i] a 0777";
#exit();
}
//Passati tutti i controlli posso inviare il file al server!
if(move_uploaded_file($_FILES['file_send']['tmp_name'], $source_dir.$dir.$_FILES['file_send']['name'])) {
$echo = "Il file è stato inviato correttamente al server!";
}
}
return($echo);
}
######################################
$Response_Up = upload($dir = "directory_file_ricevuti/", $tipo = FALSE, $dim = FALSE, $debug = FALSE);
print("\r\n
\r\n");
$a = "\r\n<div id=\"warn\">$Response_Up</div>";
echo $a;