ho un problema con l'upload dei file. Innanzitutto, ecco il codice della pagina:
codice:
<?php
include('config.inc.php');
top();
$abspath = "C:\upload\\";
?>
Inserimento allegati</p>
Per inserire un allegato, clicca su "sfoglia", seleziona il file che desideri inviare e poi clicca su "invia".</p>
<form action="allegati.php" method="post" enctype="multipart/form-data" onsubmit="return formValidate(this)">
<input type="file" title="File allegato" name="file" ddv-required="true" />
<input type="submit" name="submit" value="Invia" />
</form>
<?php
$conn = DB::connect($dsn);
if(isset($_POST['submit']) && $_POST['submit']=='Invia' && $_POST['file']!='')
{
$tmp = explode("\\", $_POST['file']);
$filename = $tmp[count($tmp)-1];
$path = $abspath.$filename;
if(!file_exists($path))
{
copy($_POST['file'],$path);
$var = array($_SESSION['codice_cdl'], $_SESSION['anno_rav'], $path);
$query = "insert into allegati values (?, ?, ?)";
$res = $conn->query($query, $var);
if(DB::isError($res)) echo "
Errore durante l'upload del file</p>";
}
}
else if(isset($_POST['submit']) && $_POST['submit']=='Cancella')
{
unlink($_POST['file']);
$var = array($_SESSION['codice_cdl'], $_SESSION['anno_rav'], $_POST['file']);
$query = "delete from allegati where codice_cdl=? and anno_rav=? and uri=?";
$res = $conn->query($query, $var);
if(DB::isError($res)) echo "
Errore durante la cancellazione del file</p>";
}
$var = array($_SESSION['codice_cdl'], $_SESSION['anno_rav']);
$query = "select * from allegati where codice_cdl=? and anno_rav=?";
$res = $conn->query($query, $var);
while($row = $res->fetchRow(DB_FETCHMODE_ASSOC))
{
echo "<form action=\"allegati.php\" method=\"post\">
<input type=\"hidden\" name=\"file\" value=\"$row[uri]\" />".basename($row['uri'])." - <input type=\"submit\" name=\"submit\" value=\"Cancella\" onclick=\"return confirm('Sei sicuro di voler cancellare il file?')\" />
</form>
\n\n";
}
foot();
?>
il problema è che nella pagina, io clicco sfoglia, scelgo il file e faccio invia, però per un motivo che non capisco la variabile $_POST['file'], che dovrebbe contenere l'indirizzo completo del file da caricare, mi dice che quell'indice non esiste neppure... dove ho sbagliato?
se invece tolgo il parametro enctype dal form, la variabile $_POST['file'] contiene solo il nome del file e non il suo indirizzo completo...
help please...