Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Cambiare il nome a un file caricato sul server

    Ciao a tutti.
    Problema: Carico un file sul server, questo viene messo in una cartella "foto" e automaticamente il suo nome associato ad un id in una tabella mysql.

    Problema: Se 2 utenti caricano un file che ha lo stesso nome non va bene.

    Ho bisogno di anteporre davanti al nome del file un numero progressivo che posso ottenere facilmente, esempio 1foto.jpg , 2foto.jpg ecc...

    Il problema è che ho provato a farlo ma mi dice che non riesce a caricare il file sul server...

    Uso uno script del genere per caricare:

    if(!isset($_FILES)) $_FILES = $HTTP_POST_FILES;
    if(!isset($_SERVER)) $_SERVER = $HTTP_SERVER_VARS;

    $img_up_name = "upfile";
    $img_max_size = "2000000";
    $img_name_dir = "foto";

    funz_uploader($img_up_name, $img_max_size, $img_name_dir);

    $foto = $_FILES["upfile"]["name"];

    E mi funziona alla perfezione... Solo non capisco come e dove devo cambiare il nome alla variabile affinchè vada tutto a buon fine... Aiutino? :master:

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    212
    +/-
    codice:
    $dir = './foto'; //controlla la directory rispetto al file
    $pre = numero_progressivo;
    $ext = 'jpg';
    $new_image = $pre . '_foto.' . $ext;
    if ( ! move_uploaded_file( $_FILES['upfile']['tmp_name'], $dir . $new_image ) ) {
        echo "errore";
    } else {
        echo "ok";
    }

  3. #3
    Io ho messo .jpg da esempio, ma non è detto che sia sempre jpg.. Ma invece di cambiare completamente script non c'è un sistema utilizzando lo script che ho postato io?

    Ho una variabile $id_foto che ha un valore che si incrementa di 1 tutte le volte. Tale valore lo devo anteporre al nome della fotografia...

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    212
    Originariamente inviato da Juzam
    non c'è un sistema utilizzando lo script che ho postato io?
    ti sembra uno script completo quello che hai postato?
    come faccio a modificare il tuo script se l'unica cosa che vedo sono 7 righe in croce?
    :(

  5. #5
    Ok, c'è la funzione uploader che è inclusa... ecco il codice:

    codice:
    funz_uploader($img_up_name, $img_max_size, $img_name_dir) {
    
    
    $img_size = $_FILES[$img_up_name] ['size'];   // controlla la dimensione dell'immagine
    $nome_img = $_FILES[$img_up_name] ['name'];   // controlla il nome dell'immagine
    
    $img_split = explode(".",$nome_img);     // verifica il tipo di estensione del file, controllando
    $estensione = array_pop($img_split);     // le ultime letere dopo l'ultimo punto
    
    if (is_uploaded_file($_FILES[$img_up_name] ['tmp_name'])) {  // controlla se il file è stato caricato dal form
    
       if ($img_size <= $img_max_size) {
    
          // verifica se i file da caricare sono immagini
          if ($estensione == "jpg" OR $estensione == "gif" OR $estensione == "jpeg") {
    
             // sposta il file caricato
             @move_uploaded_file($_FILES[$img_up_name] ['tmp_name'], "$img_name_dir/$nome_img")
             or die ("Impossibile spostare il file.
                   <A href=\"javascript:history.back()\">Torna indietro.</A>");
    
             echo "";  // se il file è stao caricato
    
    } else {
    
       echo "Questo file non puo' essere caricato sul server.
    
             <A href=\"javascript:history.back()\">Torna indietro.</A>
    ";      // se il file non è stato caricato
    
    }
       } else {
    
          echo "Questo file è troppo grande per essere caricato.
    
                <A href=\"javascript:history.back()\">Torna indietro.</A>
    ";   // se il file è troppo grande
    }
          } else {
    
             echo "Non riesco a caricare questo file sul server.
    
                   <A href=\"javascript:history.back()\">Torna indietro.</A>
    ";     // se non riesce a caricare il file
    }
    }
    ?>

    Non è mia, l'ho scaricata da non mi ricordo dove... comunque funziona

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    212
    codice:
    funz_uploader($img_up_name, $img_max_size, $img_name_dir, $id_foto) {
        $img_size = $_FILES[$img_up_name]['size'];   // controlla la dimensione dell'immagine
        $nome_img = $_FILES[$img_up_name]['name'];   // controlla il nome dell'immagine
    ....
    $nome_img = $id_foto . $nome_img;
    @move_uploaded_file( $_FILES[$img_up_name]['tmp_name'],  "$img_name_dir/$nome_img" )
    ....

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.