Newsgroup: it.comp.www.php
Titolo: Problema sul rinomino di file in upload

Ciao a tutti. Richiedo il vostro aiuto perchè anche questa volta non
riesco ad andare avanti.
Quando vado a fare l'upload di un file faccio un controllo per vedere
se il file è già presente oppure no (grazie DNS :)), avverto l'utente
e se il file è presente si può rinominare....ma come?? Faccio finta
di essere l'utente e alla fine del file selezionato aggiungo un numero
a caso....il trasferimento avviene col nuovo nome ma dentro il file non
c'è più scritto niente. Se non ho capito male in pratica invece di
rinominare il file ne crea uno nuovo!! Come devo fare? Posto la
funzione di upload:
/*Upload del file*/
/********************* VARIABILI DA SETTARE ********************/
// Directory dove salvare i files Uploadati (percorso assoluto)
$upload_dir = $_SERVER["DOCUMENT_ROOT"] . "./tirocinio/Articoli";
/*La dimensione massima è settata su 2MB come nel file php.ini*/
$max_document_size=2000000;
/*Pagina che contiene il form per l'inserimento di un articolo*/
$upload_page='insert.php';
/* Eventuale nuovo nome da dare al file uploadato*/
$nuovo_nome ="";
/*ho provato anche con $nuovo_nome=$_FILES["upfile"]["name"]; ma non è
cambiato nulla*/
/* Se $nuovo_nome è vuota, il nome sarà lo stesso del file
uploadato*/
$file_name = ($nuovo_nome) ? $nuovo_nome : $_FILES["upfile"]["name"];
/*Rimuovo gli spazi (ed altri caratteri),mediante la funzione trim(),
all'inizio e alla fine del nome originale del file sulla macchina
dell'utente ($_FILES["upfile"]["name"])*/
$messaggioerrore=false;
if(!$messaggioerrore){
   /*Rimuovo gli spazi (ed altri caratteri),mediante la funzione
trim(),
   all'inizio e alla  fine del nome originale
   del file sulla macchina dell'utente ($_FILES["upfile"]["name"])*/
   if(trim($_FILES["upfile"]["name"]) != "") {
      /*Controllo che il file sia stato inviato col metodo HTTP POST*/
      if(is_uploaded_file($_FILES["upfile"]["tmp_name"])) {
         /*Se il file è stato correttamente caricato
move_uploaded_file restituisce true ed          il file verrà spostato
nella sua destinazione.*/
         move_uploaded_file($_FILES["upfile"]["tmp_name"],
"$upload_dir/$file_name")
            or die("Impossibile spostare il file, controlla l'esistenza
o i permessi della directory
	    dove fare l'upload.");
      }
      echo "L'upload del file " . $_FILES["upfile"]["name"] . " è
avvenuto correttamente";
      /*Preparo il nome del file per inserirlo successivamente nella
bd*/
      $nome_fin=$_FILES["upfile"]["name"];
      $ar=array('./Articoli', $nome_fin);
      $nome_finale=implode("/", $ar);
}
else{
      /*Se non c'è nessun file il nome_finale da inserire nella bd
sarà   semplicemente 'Nessuno'*/
       $nome_finale="Nessuno";
}
Ho omesso tutta la parte del controllo perchè si tratta di una
funzione a parte di un'altra pagina!!
Grazie a chiunque mi saprà aiutare
Faby

 niente.
cioe', se tu fai :
 move_uploaded_file($_FILES["upfile"]["tmp_name"], 
"$upload_dir/ilnomechevoglio.txt")
ti crea il file, ma e' vuoto??

 ti crea il file, ma e' vuoto??
Si, inizialmente era così perchè pretendevo di rinominarlo al momento
dell'upload...ma in realtà creavo un nuovo file vuoto.
Grazie ancora dell'aiuto :)
Ciao
Faby

 ti crea il file, ma e' vuoto??
Si, inizialmente era così perchè pretendevo di rinominarlo al momento
