settare una variabile

giorgiait

Nuovo Utente
11 Feb 2008
3
0
0
Buon giorno

volevo settare il seguente codice in modo da eseguire l'upload di un file.
A me servirebbe che il file sul server abbia sempre lo stesso nome.

esempio:

PC ...................... server
123.gif -> immagine.gif
foto.jpg -> immagine.gif
mare.png -> immagine.gif

Ho fatto delle prove, ma il risultato migliore è stato di uplodare un file con il nome fisso ma senza estensione.

Il codice esegue un filtro sul file (dimensioni, estensione) e questo mi è utile.
Ho pensato di rinominare il file nella parte di codice che si occupa proprio dello spostamento.

Il codice:

da qui scelgo il file
<input type="hidden" name="MAX_FILE_SIZE" value="$dimensione">
<td><input name="nomefile" type="file" value="$file"></td>
presumo che in nome del file sia messo nella variabile "nomefile"

nel file esterno c'è

//Includiamo il file con le impostazioni
include ('setting.php');

//Controlliamo che sia inviato un file
$nome_file = $_FILES["nomefile"]["name"];
if (($nome_file == "") or ($nome_file == " ")){
echo "<p align='center'>Nessun file selezionato!<br>
Torna alla <a href='index.php'>pagina di invio</a></p></p>
<p align='center'>Tw-Upload by <a href='http://tutorialweb.org' target='_blank'>Tutorialweb.org</a></p>";
exit;
}

//Controlliamo l'estensione del file
$estensione = $_FILES["nomefile"]["type"];
if (in_array($estensione, $estensioni)){ //Se l'estensione è presente nella lista lo script prosegue...

//Controlliamo la dimensione del file
$dimensione_file = $_FILES["nomefile"]["size"];
if ($dimensione_file > $dimensione){
echo "<p align='center'>Dimensioni eccessive!<br>
Torna alla <a href='index.php'>pagina di invio</a></p>";
}

// Invio del file e registrazione dei dati
else {
$ip = $_SERVER['REMOTE_ADDR'];
$cartella_upload = "files";
$nomefile = $HTTP_POST_FILES['nomefile']['tmp_name'];
$nomereale = $HTTP_POST_FILES['nomefile']['name'];
if (is_uploaded_file($nomefile)){
$date = fDate();
$time = fTime();
$newname = ($nomereale);
move_uploaded_file($nomefile,("files/".$newname)); //la cartella di destinazione dei files caricati
appendToFile("files/files.dat", $date . " " . $time . " " . $ip . " " . $nomereale); // (files.dat è il file che memorizza i dati dei file per la visualizzazione)
echo ("<p align='center'>Grazie per averci inviato un file!<br>
Fai click <a href='risultati.php'>qui</a> per vedere un elenco dei documenti inviati.<br>
Oppure <a href='index.php'>qui</a> per inviare un'altro file.
</p>");
}
}
}
else
echo "<p align='center'>Tipo di file non concesso!<br>
Torna alla <a href='index.php'>pagina di invio</a></p>";

//Funzioni dello script

function fDate(){
$date = getdate();
$mese = $date["month"];
if ($date["month"] == "January"){$mese = "Gennaio";}
elseif ($date["month"] == "February"){$mese = "Febbraio";}
elseif ($date["month"] == "March"){$mese = "Marzo";}
elseif ($date["month"] == "April"){$mese = "Aprile";}
elseif ($date["month"] == "May"){$mese = "Maggio";}
elseif ($date["month"] == "June"){$mese = "Giugno";}
elseif ($date["month"] == "July"){$mese = "Luglio";}
elseif ($date["month"] == "August"){$mese = "Agosto";}
elseif ($date["month"] == "September"){$mese = "Settembre";}
elseif ($date["month"] == "October"){$mese = "Ottobre";}
elseif ($date["month"] == "November"){$mese = "Novembre";}
elseif ($date["month"] == "December"){$mese = "Dicembre";}
$anno = $date["year"];
$giorno = $date["mday"];
return $giorno . "-" . $mese . "-" . $anno;
}

function fTime(){
$time = date('h:i:s');
return $time;
}

function appendToFile ($file,$data) {
$out = fopen($file, "a");
fputs($out,$data."\n");
fclose($out);
}
?>
<p align="center">Tw-Upload by <a href="http://tutorialweb.org" target="_blank">Tutorialweb.org</a></p>

Leeggendo il codice non capisco queste righe
$nomefile = $HTTP_POST_FILES['nomefile']['tmp_name'];
$nomereale = $HTTP_POST_FILES['nomefile']['name'];

$HTTP_POST_FILES cos'è?

secondo me la riga da modificare è la seguente:
move_uploaded_file($nomefile,("files/".$newname)); //la cartella di destinazione dei files caricati
senza però escludere la possibilità di registrare nell'apposito file log il vero nome del file
appendToFile("files/files.dat", $date . " " . $time . " " . $ip . " " . $nomereale); // (files.dat è il file che memorizza i dati dei file per la visualizzazione).

Potete aiutarmi?
Tentativi fatti

1)
$nomefile='immagine'
move_uploaded_file($nomefile,("files/".$newname));

2)
$nomefile="immagine"
move_uploaded_file($nomefile,("files/".$newname));

3)
$newname='immagine'
move_uploaded_file($nomefile,("files/".$newname));

GRAZIE
 

Discussioni simili