ciao,
la funzione add_allegato dovrebbe permettermi l'upload di un file
invece mi da un errore.io vengo dalla pagina:
add.php:
Codice PHP:
<form mi rimanda alla funzione sotto che mi spedisce a sua volta i valori presi dal form>
//allego il file
<tr>
<td width="100">Allega il file:</td>
<td width="600"><input type="file" size="60" name="allegato" /></td>
</tr>
//reinserisco lo stesso percorso per elaborarlo successivamente
<tr>
<td width="100">Incolla il percorso del file:</td>
<td width="600"><input type="text" size="60" name="path_allegato" /></td>
</tr>
</form>
//mi rimanda alla funzione sotto che mi spedisce a sua volta i valori presi dal form
$allegato=$_FILES['allegato']['tmp_name'];
$path_allegato=$_POST['path_allegato'];
add_allegato($allegato,$path_allegato);
funzioni.php dove trovo la funzione add_allegato:
Codice PHP:
function add_allegato($allegato,$path_allegato)
{
echo "$path_allegato"; //mi visualizza un percorso con le // barre doppie
//esempio: C:\\Documents and Settings\\All Users\\Documenti\\Immagini\\Immagini campione\\Tramonto.jpg
$path_allegato=$_POST['allegato'];
//seleziono tutto dalla tabella dei ticket
$query = mysql_query("SELECT * FROM $GLOBALS[mysql_prefix]ticket"); //or do_error('add_allegato(select)::mysql_query()', 'mysql query failed', mysql_error());
//prendo l'id dell'ultimo ticket inserito
$id_ticket=mysql_insert_id();
//echo "$id_ticket";
$query1 = mysql_query("SELECT * FROM $GLOBALS[mysql_prefix]ticket WHERE id=$id_ticket") or do_error('add_allegato($query1)::mysql_query()', 'mysql query failed', mysql_error());
$riga=mysql_fetch_array($query1);
$c_array = explode(".",$path_allegato);
// estraggo l'ultimo valore --> estensione del file
$estensione = array_pop($c_array);
//memorizzo il percorso (cartella nome file.estensione
$filename="allegati/".$id_ticket.".".$estensione;
//move_uploaded_file($allegato,$filename);
echo $filename;
$query = "INSERT INTO $GLOBALS[mysql_prefix]allegati values ('','$filename','$avviso','$tipo')";
$result = mysql_query($query) or do_error("add_allegato($filename,$avviso,$tipo)", 'mysql query failed', mysql_error());
copy($allegato,$filename);
}
non riesco a capire dove è l'errore!! lo strano è che la stessa identica funzione (scusate il gioco di parole) funziona benissimo su un altra pagina!! il percorso della variabile $allegato dovrevve essere windows//temp/file.tmp, invece nemmeno l'echo me lo visualizza. non capisco il motivo!! qualcuno che ne capisce un pò di +??