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

    Rinominare un'immagine mediante uno script.

    Ciao a tutti e scusate per il titolo un pò contorto ma non sapevo bene cosa scrivere.
    Proverò ora a spiegarmi meglio.

    Ho realizzato un semplice script che mi permette di fare l'upload, mediante un form, dell'immagini dal mio PC al server web del mio sito.
    Lo script funziona molto bene e mi sono divertito a fare qualche controllo sull'immagine (ad esempio, il tipo di file, la grandezza, le dimensioni, ecc), in particolare lo script esegue anche la verifica del nome dell'immagine e se sul server web è già presente un' immagine con lo stesso nome lo script non carica l'immagine per non sovrascrivere quella già presente sul server. Fino a qui tutto ok e forse voi direte quale è il problema?

    Il problema è che a me piacerebbe comunque caricare l'immagine (l'immagine che presenta lo stesso nome dell'immagine già presente sul server), ma naturalmente, rinominandola diversamente in modo che non sovrascriva l'immagine già presente sul server!

    Come faccio a rinominare l'immagine?
    Come faccio ad assegnargli un nome diverso?


    Io avevo pensato di creare in maniera random (ogni qualvolta lo script rileva che il nome dell'immagine è già presente nel server) un numero oppure una stringa in e quindi rinominare l'immagine. Secondo voi può funzionare così la cosa?
    Però in questo caso, anche se ci sono poche possibilità, potrebbe accadere che l'immagine rinominata, mediante la stringa random, è già presente e così mi ritrovo punto e a capo!

    Avete qualche consiglio?
    Grazie e ciao

  2. #2
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    Se non ha molta importanza il nome del file caricato basta cambiare il nome alle immagine in upload ovvero prendere il nome del file che dovrebbe essere $_FILE['name'][''tmp] se nn sbaglio e lo modifichi cosi':

    $nuovoNome = uniqid();

    per l'estensione del file:

    $dati = explode(explode(".",$_FILE['name'][''tmp]));
    $tipo = array_pop($dati);

    $nomeFile = $nuovoNome.".".$tipo;

    Poi usi $nomeFile per inserirla.

  3. #3
    :master: :master:

    Scusami ma non sono un esperto in php........ se non ti dispiace ti posto la porzione di codice che effettua il controllo del nome dell'immagine.

    codice:
    // controllo se il file è stato selezionato dal forum
    if ($img_name != "") 
      {
     // l'immagine è stata selezionata
     //controllo se l'immagine è già esistente
        if (file_exists("$path/$img_name")) 
          {
    // il file esiste!
            $log .= "Il File esiste già
    ";
          } 
        else 
          {
    // il file non esiste.... procedo con i controlli
    //controllo la dimensione del file
    	$errore=0;
    // controllo se l'admin ha deciso di impostare un limite in bytes
            if ($dimlim == "si") 
              {
    //controlla le dimensioni dell'immagine e le confronta con quelle max impostate dall'admin
                if ($immagine_size > $size) 
                  {
                    $errore=1;
    	        $log .= "Il file è troppo grande!";
    
                  }
              }
    questa è la porzione di codice che effettua il controllo del nome dell'immagine e verifica se l'immagine è già presente sul Server.

    A questo punto se ho capito bene dovrei inserire (con le giuste modifiche) il codice postato da marco80 in questo punto:

    i
    codice:
    f ($img_name != "") 
      {
     // l'immagine è stata selezionata
     //controllo se l'immagine è già esistente
        if (file_exists("$path/$img_name")) 
          {
    // il file esiste, quindi lo rinomino con il codice di marco80
            
    rinomino il file con il codice di marco80
    
          } 
        else
    Giusto? :master: :master: però se faccio così lo script si blocca, cioè rinomina il file e poi non va avanti e quindi non effettua l'upload... come posso modificare il tutto in modo che lo script possa continuare?

  4. #4
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    scusa ma perche' si dovrebbe bloccare? basta modificare il nome file prima del comando di upload.

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.