Visualizzazione dei risultati da 1 a 8 su 8

Discussione: upload (nome file)

  1. #1

    upload (nome file)

    salve, tempo fa ho scritto questo breve codice per fare l' upload dei files:
    codice:
    <?PHP
        // RECUPERO I PARAMETRI DA PASSARE ALLA FUNZIONE PREDEFINITA PER L'UPLOAD
        $cartella = 'upload/';
        $percorso = @$_FILES['miofile']['tmp_name'];
        $nome = @$_FILES['miofile']['name'];
        $upoloadfile = "beretta";
        // ESEGUO L'UPLOAD CONTROLLANDO L'ESITO
        if (move_uploaded_file($percorso, $cartella . $nome))
        {
            print "Upload eseguito con successo"; 
        }
        else
        {
            print "Si sono verificati dei problemi durante l'Upload"; 
        }
    ?>
    vorrei però assegnare al file che mi salva sul server il nome di "file1" : come devo fare?
    Luca Pennisi - Web Marketing Specialist

  2. #2
    Sostituisci
    Codice PHP:
    $nome = @$_FILES['miofile']['name']; 
    con
    Codice PHP:
    $nome "file1"
    Occhio che così perdi l'estensione però... Per quella o usi "file" con un shell_exec ed estrapoli il mime-type oppure giochi con le stringhe ed dividi il nome del file in base ai punti e prendi il segmento di stringa dopo l'ultimo punto
    Questa e' la mia firma! Lo so, e' una mezza schifezza.
    Un sito
    - skype non è per consulenze online -

  3. #3
    funziona! ora sto cercanto di ottenere una stringa con l' estensione del file:
    codice:
    $nome = @$_FILES['miofile']['name'];
    $esten = @strstr($nome, ".");
    $nome = "file1";
    non capisco però perchè $esten restituisce: ".jpg strstr(stringa, stringa)", non dovrebbe restituire solo ".jpg"?
    Luca Pennisi - Web Marketing Specialist

  4. #4
    ma perchè tutte quelle chiocciole? Non è un bene programmare con "i silenziatori"

    Comunque, io farei così:
    Codice PHP:
    $nome $_FILES['miofile']['name'];
    $pezzidifile explode("."$nome); // Questo serve per dividere la stringa ogni volta che c'è un punto
    $posizione sizeof($pezzidifile) - 1// Questo è un metodo POCO elegante per prendere l'ultima posizione di un array
    $estensione $pezzidifile[$posizione]; // Ora che sappiamo la posizione dell'estensione nell'array del nome, la recuperiamo puntando all'ultimo pezzo di stringa
    $nome "file1" "." $estensione// Collegiamo l'estensione al file ricordandoci di infilarci un punto in mezzo (te l'ho messo volutamente staccato dal nome del file per fartelo vedere) 
    Non è certo il metodo più elegante ma dovrebbe funzionare!
    Questa e' la mia firma! Lo so, e' una mezza schifezza.
    Un sito
    - skype non è per consulenze online -

  5. #5
    ci sono riuscito! non so come ma ci sono riuscito comunque ora mi servirebbe una funzione che conta i files nella cartella dei files in modo da assegnare un nome unico ad ogni file.
    Luca Pennisi - Web Marketing Specialist

  6. #6
    Imbastita un po' di fretta ma più o meno dovrebbe forse in qualche modo chissà (speriamo!) andare:
    Codice PHP:


    $cartella 
    '/dove/tieni/i/files';

    if (
    $puntat opendir($cartella)) {

        
    // Questo è solo un contatore
        
    $i 0;
        
    // Qui scorro tutta la cartella
        
    while (false !== ($file readdir($puntat))) {
            
    $filesnellacartella[$i] = $file;
            
    $i++;
        }
        
    closedir($handle);
        
    $nome $_FILES['miofile']['name'];
    $pezzidifile explode("."$nome); // Questo serve per dividere la stringa ogni volta che c'è un punto
    $posizione sizeof($pezzidifile) - 1// Questo è un metodo POCO elegante per prendere l'ultima posizione di un array
    $estensione $pezzidifile[$posizione]; // Ora che sappiamo la posizione dell'estensione nell'array del nome, la recuperiamo puntando all'ultimo pezzo di stringa
    $nome "file" . (sizeof($filesnellacartella) + 1) . "." $estensione// Collegiamo l'estensione al file ricordandoci di infilarci un punto in mezzo (te l'ho messo volutamente staccato dal nome del file per fartelo vedere)

    Scusa sto andando a mangiare, se c'è qualche problema posta che poi correggo, ora non ho molto tempo!
    Ah, nota che nell'ultimo $nome ho aggiunto un modo artigianale per contare il numero di files nella cartella e dargli un numero sequenziale... Ci sarà sicuramente un modo più veloce, se mi viene in mente te lo posto dopo!
    buon appetito!
    Questa e' la mia firma! Lo so, e' una mezza schifezza.
    Un sito
    - skype non è per consulenze online -

  7. #7
    Scusate se mi intrometto, ma c'è un modo molto migliore per sapere l'estensione del file in upload:

    Codice PHP:
    $estensione $_FILES['file_da_form']['type']; 
    Semplice, no?

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  8. #8
    io ho usato un sistema altrettanto semplice, col tuo sistema prova a vedere cosa succede con una gif e aggiungici quell' estensione al nome dell' immagine: vedrai che effetto!

    codice:
    $nome = @$_FILES['miofile']['name'];
    
    $esten = strstr($nome, '.');
        
    $nome = "file".$esten;
    Luca Pennisi - Web Marketing Specialist

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.