19-11-2007, 02:48 PM
Ciao a tutti, ho modificato il sistema di upload utilizzato dal prog. in maniera tale che si possa sceglere fra le directory di destinazione del file da caricare.
Tenete presente che le varaibili $uploaddir e $uploaddir2 devono essere dichiarate nel file dati.php.
La prima è già presente la seconda si deve proprio creare.
Il sistema crea una menù a tendina dove sono riportate solo due directory e si può scegliere quella più opportuna.
Si può sviluppare anche a più directory solo che per le mie necessità l'ho sviluppato a due, in tutti i casi se lo volete a più directory e non riuscite a svilupparlo da soli contattatemi, vi darò volentieri un mano.
Detto questo, questo è il nuovo file upload.php:
<?
require("./controlla_pass.php");
require("header.php");
if ($_SESSION['valido'] == "SI" and $_SESSION['permessi'] > 1) {
require ("menu.php");
if (!$funz) {
$funz = "uno";
}
switch ($funz) {
case uno:
echo "<br><table width=\"60%\" align=\"center\" class=\"border\" cellpadding=\"10\" bgcolor=\"$sfondo_tab\"><tr><td class=\"testa1\">Funzione upload fileMessaggi</td></tr><tr valign =\"top\"><td align=\"center\"><br><br>Tramite questa funzione viene caricato il file <br>nella cartella selezionata qui sotto.<br><br>";
echo "<form method=\"post\" enctype=\"multipart/form-data\" action=\"upload.php\">
<fieldset>
<legend>Scegli la destinazione del file</legend>
<select name=\"dirupload\">
<option value=\"$uploaddir\" selected=\"selected\">$uploaddir </option>
<option value=\"$uploaddir2\">$uploaddir2</option>
</select>
</fieldset><br>";
echo "<input type=\"file\" name=\"filevoti\" size=\"30\">";
echo "<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"100000\">";
echo "<input type=\"hidden\" name=\"funz\" value=\"due\">";
echo "<br><br><input type=\"submit\" value=\"Invia\"><br><br></td></tr></table><br>";
break;
case due:
if($filevoti) {
print "<br><table align=\"center\" class=\"border\" cellpadding=\"20\" bgcolor=\"$sfondo_tab\"><tr><td align=\"left\"><pre>";
if (move_uploaded_file($_FILES['filevoti']['tmp_name'], $_POST['dirupload'] . $_FILES['filevoti']['name'])) {
print "Il file è valido, e inviato con successo. Ecco alcune informazioni:\n";
print_r($_FILES);
} else {
print "Possibile attacco tramite file upload! Alcune informazioni:\n";
print_r($_FILES);
}
print "</pre></td></tr></table>";
}
break;
}
echo "</td></tr></table><br>";
} # fine if ($_SESSION == "SI")
else echo"<meta http-equiv=\"refresh\" content=\"0; url=logout.php\">";
require ("./footer.php");
?>
Tenete presente che le varaibili $uploaddir e $uploaddir2 devono essere dichiarate nel file dati.php.
La prima è già presente la seconda si deve proprio creare.
Il sistema crea una menù a tendina dove sono riportate solo due directory e si può scegliere quella più opportuna.
Si può sviluppare anche a più directory solo che per le mie necessità l'ho sviluppato a due, in tutti i casi se lo volete a più directory e non riuscite a svilupparlo da soli contattatemi, vi darò volentieri un mano.
Detto questo, questo è il nuovo file upload.php:
<?
require("./controlla_pass.php");
require("header.php");
if ($_SESSION['valido'] == "SI" and $_SESSION['permessi'] > 1) {
require ("menu.php");
if (!$funz) {
$funz = "uno";
}
switch ($funz) {
case uno:
echo "<br><table width=\"60%\" align=\"center\" class=\"border\" cellpadding=\"10\" bgcolor=\"$sfondo_tab\"><tr><td class=\"testa1\">Funzione upload fileMessaggi</td></tr><tr valign =\"top\"><td align=\"center\"><br><br>Tramite questa funzione viene caricato il file <br>nella cartella selezionata qui sotto.<br><br>";
echo "<form method=\"post\" enctype=\"multipart/form-data\" action=\"upload.php\">
<fieldset>
<legend>Scegli la destinazione del file</legend>
<select name=\"dirupload\">
<option value=\"$uploaddir\" selected=\"selected\">$uploaddir </option>
<option value=\"$uploaddir2\">$uploaddir2</option>
</select>
</fieldset><br>";
echo "<input type=\"file\" name=\"filevoti\" size=\"30\">";
echo "<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"100000\">";
echo "<input type=\"hidden\" name=\"funz\" value=\"due\">";
echo "<br><br><input type=\"submit\" value=\"Invia\"><br><br></td></tr></table><br>";
break;
case due:
if($filevoti) {
print "<br><table align=\"center\" class=\"border\" cellpadding=\"20\" bgcolor=\"$sfondo_tab\"><tr><td align=\"left\"><pre>";
if (move_uploaded_file($_FILES['filevoti']['tmp_name'], $_POST['dirupload'] . $_FILES['filevoti']['name'])) {
print "Il file è valido, e inviato con successo. Ecco alcune informazioni:\n";
print_r($_FILES);
} else {
print "Possibile attacco tramite file upload! Alcune informazioni:\n";
print_r($_FILES);
}
print "</pre></td></tr></table>";
}
break;
}
echo "</td></tr></table><br>";
} # fine if ($_SESSION == "SI")
else echo"<meta http-equiv=\"refresh\" content=\"0; url=logout.php\">";
require ("./footer.php");
?>