Visualizzazione dei risultati da 1 a 4 su 4

Discussione: settare una variabile

  1. #1

    settare una variabile

    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.jpg
    mare.png -> immagine.png

    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!

    Torna alla pagina di invio</p></p>
    <p align='center'>Tw-Upload by Tutorialweb.org</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!

    Torna alla pagina di invio</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!

    Fai click qui per vedere un elenco dei documenti inviati.

    Oppure qui per inviare un'altro file.
    </p>");
    }
    }
    }
    else
    echo "<p align='center'>Tipo di file non concesso!

    Torna alla pagina di invio</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 Tutorialweb.org</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

  2. #2
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    mmh... ma vuoi SOVRASCRIVERE il file sul server, o vuoi che ci siano 25 file che si chiamano uguale cioè che hanno lo stesso nome?
    perchè nel secondo caso la vedo difficile...

  3. #3
    ciao telegio ,
    grazie per avermi soccorso....

    a me serve che sul server ci sia solo un file.
    tutte le volte deve essere sovrascitto il vecchio.

    Importante, il file deve avere sempre lo stesso nome (deciso da me esempio "immagine")

  4. #4
    ho risolto grazie ad un amico (maxk).

    modificare la riga

    $newname = ($nomereale);

    con

    $newname = 'immagine' . strrchr ( $nomereale, '.' );

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.