Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di Base
    Registrato dal
    Apr 2001
    Messaggi
    822

    [php] upload immagini con nome univoco

    Ciao a tutti, cercavo uno scriptino preconfezionato da modificare ad hoc, che permetta di uploadare un immagine rinominandola con nomefile generato casualmente tipo: ASd4456RH554356463dfg5kyirt8dk.jpg

    questa è la cosa che mi interessa principalmente, poi se fa un resize e controlla dimensione ed estensione meglio.

    sapreste indirizzarmi?

  2. #2
    Utente di HTML.it L'avatar di Base
    Registrato dal
    Apr 2001
    Messaggi
    822
    sto facendo tante di quelle ricerche intanto ma nulla..

    ho sentito parlare di microtime.
    genera una stringa diciamo irripetibile... chi mi farebbe un esempio d'uso?

    grazie.

  3. #3
    puoi anche usare la funzione time: restituisce l'attuale data e orario misurata in numero di secondi dalla Unix Epoch (January 1 1970 00:00:00 GMT).
    Per la serie ogni momento è irripetibile..

    microtime

  4. #4
    Originariamente inviato da andrea.paiola
    numero di secondi dalla Unix Epoch
    Per la serie ogni momento è irripetibile..
    beh irripetibile .. se fanno inserimento nello stesso secondo (e in siti grossi non è neanche improbabile) viene fuori casino.
    meglio un md5(rand()+time()); o similari

  5. #5
    md5(uniqid(microtime(), true));

    md5 esegue un hash...in modo che sai sempre cosa ottieni (come tipologia di caratter)...
    uniqid...ti restituisce una stringa...un ID...il primo parametro indica il prefisso...e usando microtime...è sempre dinamico...e il secondo parametro gli indica di aggiungere dei dati calcolati tramite un generatore di entropia migliore a fine stringa...in modo che sia ancora più ...... unico

    ^^

    www.php.net/uniqid
    www.php.net/md5
    www.php.net/microtime

  6. #6
    Utente di HTML.it L'avatar di Base
    Registrato dal
    Apr 2001
    Messaggi
    822
    ok grazie a tutti, potreste farmi un'esempio di utilizzo con uno script ora?

    grazie.

  7. #7
    Utente di HTML.it L'avatar di Base
    Registrato dal
    Apr 2001
    Messaggi
    822
    ok questo script mi funziona correttamente (fonte php.net)
    Codice PHP:

    $uploaddir 
    './foto/';
    $uploadfile $uploaddir basename($_FILES['userfile']['name']);

    echo 
    '<pre>';
    if (
    move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
       echo 
    "File is valid, and was successfully uploaded.\n";
    } else {
       echo 
    "Possible file upload attack!\n";
    }

    echo 
    'Here is some more debugging info:';
    print_r($_FILES);

    print 
    "</pre>"
    mi aiutate da qui?
    come faccio a rinominare il file applicando md5(uniqid(microtime(), true));

    help!

  8. #8
    $uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

    ti basta modificare questa riga

    comunque, invece di chiedere aiuto, fai qualche prova ^^ senno non impari!

  9. #9
    Utente di HTML.it L'avatar di Base
    Registrato dal
    Apr 2001
    Messaggi
    822
    [supersaibal]Originariamente inviato da daniele_dll
    $uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

    ti basta modificare questa riga

    comunque, invece di chiedere aiuto, fai qualche prova ^^ senno non impari! [/supersaibal]
    infatti sto provando

    Codice PHP:
    $suffisso "pers_"
    $uploaddir './foto/';
    $ext pathinfo($_FILES['userfile']['name']); 
    $uq md5(uniqid(microtime(), true));
    move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir.$suffisso.$uq.".".$ext); 
    così mi rinomina il file "pers_32a71f316fe20e0ed046da0b7be38d2d.Array"
    perchè .array ?
    :master:

  10. #10
    Utente di HTML.it L'avatar di Base
    Registrato dal
    Apr 2001
    Messaggi
    822
    risucito:
    Codice PHP:
    $suffisso "pers_"
    $uploaddir './foto/';
    $info pathinfo($_FILES['userfile']['name']); 
    $ext $info['extension'] ;
    $uq md5(uniqid(microtime(), true));
    move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir.$suffisso.$uq.".".$ext); 

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.