Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Function

  1. #1

    Function

    Codice PHP:
    function filtranome($name$filetype)
    {
        
    // todo: consider refactoring
        
    $extension explode('/'$filetype);
        
    // qui filtri con varie funzioni
        
    $nuovonome $name;
        
    $nuovonome str_replace(array(' ''.',','), '_'$nuovonome); // elimino alcuni caratteri
        
    $nuovonome strtolower($nuovonome); // tutto in minuscolo
        
    $nuovonome time() . '_' $nuovonome '.' 'jpeg';
        return 
    $nuovonome;
    }
    function 
    filtro($name$filetype)
    {
        
    // todo: consider refactoring
        
    $extension explode('/'$filetype);
        
    // qui filtri con varie funzioni
        
    $nuovonome $name;
        
    $nuovonome str_replace(array(' ''.',','), '_'$nuovonome); // elimino alcuni caratteri
        
    $nuovonome strtolower($nuovonome); // tutto in minuscolo
        
    $nuovonome time() . '_' $nuovonome '.' $extension[1];
        return 
    $nuovonome;
    }

    // controllo che non ci siano stati errori nell'upload (codice = 0)
    if ($_FILES['uploadfile']['error'] == 0) {
        
    $acceptedTypes = array('image/jpeg','image/png','image/gif','image/jpg','image/bmp','image/png');
        
    // upload ok
        // controllo formato
        
    $filetype $_FILES['uploadfile']['type'];
        if (!
    in_array($filetype$acceptedTypes)) {
            die(
    "[b]Formato file non valido[/b]");
        }
        
    // copio il file dalla cartella temporanea a quella di destinazione mantenendo il nome originale
        
    copy($_FILES['uploadfile']['tmp_name'], "file_caricati/" filtranome($_FILES['uploadfile']['name'], $filetype)) or die("[b]Impossibile caricare il file. Riprovare.[/b]");
        
    copy($_FILES['uploadfile']['tmp_name'], "immagini/" filtro($_FILES['uploadfile']['name'], $filetype)) or die("[b]Impossibile caricare il file. Riprovare.[/b]");
        
    // upload terminato, stampo alcune info sul file
        
    echo "
    [b]Upload terminato con successo[/b]
    Le Informazioni riguardanti il File che hai appena caricato sono:

    "
    ;
        echo 
    "Nome file originale: ".$_FILES['uploadfile']['name']."
    "
    ;
        echo 
    "Nome file caricato: ".filtranome($_FILES['uploadfile']['name'], $filetype)."
    "
    ;
        echo 
    "Dimensione file: ".round($_FILES['uploadfile']['size']/1024,2) ." Kb
    "
    ;
        echo 
    "Tipo MIME file: ".$_FILES['uploadfile']['type']; 
    Come potete vedere nel codice sopra, ho dovuto creare due funzioni:
    - una che mi salvi in "file_caricati" con il formato ".jpeg".
    - una che mi salvi in "immagini" con il formato originale.

    Come potrei evitare di tenere obbligatoriamente queste due funzioni, cioè c'è un modo per avere gli stessi risultati (elencati nei due punti sopra), ma senza creare per forza due funzioni, non ne potrei creare una?

  2. #2
    Non è che basta cambiare l'estensione del file per ottenere un file .jpg
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Utente di HTML.it L'avatar di _debo
    Registrato dal
    Mar 2012
    residenza
    London, UK
    Messaggi
    858

    Re: Function

    Originariamente inviato da Cloud Web
    Come potete vedere nel codice sopra, ho dovuto creare due funzioni:
    - una che mi salvi in "file_caricati" con il formato ".jpeg".
    - una che mi salvi in "immagini" con il formato originale.

    Come potrei evitare di tenere obbligatoriamente queste due funzioni, cioè c'è un modo per avere gli stessi risultati (elencati nei due punti sopra), ma senza creare per forza due funzioni, non ne potrei creare una?
    Perchè usi due funzioni che fanno la stessa cosa? Ma soprattutto perché cambi l'estensione al file e la forzi a jpeg?

  4. #4
    Scusami ma fai semplicemente una funzione cosi:
    codice:
    function filtranome($name, $filetype,$path) 
    { 
        // todo: consider refactoring 
        $extension = explode('/', $filetype); 
        // qui filtri con varie funzioni 
        $nuovonome = $name; 
        $nuovonome = str_replace(array(' ', '.',','), '_', $nuovonome); // elimino alcuni caratteri 
        $nuovonome = strtolower($nuovonome); // tutto in minuscolo 
        if($path=='jpeg'){
        $nuovonome = time() . '_' . $nuovonome . '.' . 'jpeg'; 
        }elseif($path=='img'){ $nuovonome = time() . '_' . $nuovonome . '.' . $extension[1];  }
        return $nuovonome; 
    }
    E di conseguenza
    codice:
    copy($_FILES['uploadfile']['tmp_name'], "file_caricati/" . filtranome($_FILES['uploadfile']['name'], $filetype,'jpeg')) or die("Impossibile caricare il file. Riprovare."); 
        copy($_FILES['uploadfile']['tmp_name'], "immagini/" . filtranome($_FILES['uploadfile']['name'], $filetype,'img')) or die("Impossibile caricare il file. Riprovare.");

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.