ciao ragazzi mi trovo di fronte ad un problema, ho inserito dei forms per il caricamento di files, ma ho visto che se un utente carica un file con un nome uguale ad uno giá presente, questo viene sostituito, come risolvere?
ciao ragazzi mi trovo di fronte ad un problema, ho inserito dei forms per il caricamento di files, ma ho visto che se un utente carica un file con un nome uguale ad uno giá presente, questo viene sostituito, come risolvere?
Ultima modifica di lafan; 15-09-2014 a 08:03
ti conviene far si che una volta caricato il file venga rinominato, potresti fare ad esempio
se posti il codice possiamo darti una mano in più se necessariaCodice PHP:
$nuovonome = time() . $nomeoriginale;
mi potresti dire cosa é il timestamp, non riesco a capirlo, a cosa serve?
la funzione time restituisce il numero di secondi che sono passati dal 1 gennaio 1970 (o 1980? non ricordo ma ha poca importanza) quindi se tu carichi la foto immagine.png e usi il procedimento che ti ho consigliato io il nuovo nome dopo l'upload sarà ad esempio 1335939007immagine.png, non è certo il metodo migliore soprattutto se il sito è molto grande, infatti se 2 persone caricano un'immagine con lo stesso nome nello stesso secondo avranno lo stesso identico nome. io per essere sicuro nel mio sito ho l'upload collegato ad una tabella del database (che mi serve anche per associare l'immagine all'utente) e le immagini prendono come nome l'id della riga della tabella 1.png 2.jpg 3.png etc. se non ritieni che ci sia il rischio che 2 persone carichino 2 diverse immagini con lo stesso nome nello stesso momento allora la soluzione dell'altro post può andare bene
mi servirebbe il secondo metodo, perché é un sito abbastanza ampio, come faccio a collegare il caricamento alla tabella? Grazie mille per l'aiuto!
è un po' lungo, il forum non è per chiedere il prodotto finito, se vuoi posso spiegarti il concetto del funzionamento anche perché darti il codice pronto è impossibile dato che devi integrarlo in qualcosa di esistente. Il concetto comunque è questo
1 l'immagine viene caricata
2 nel database vengono inserite varie informazioni, nel mio caso ad esempio inserisce il nome utente di chi l'ha caricata, la sezione l'ora etc
3 recupero l'id della riga appena inserita con la funzione last_id() (non sono sicuro che si chiami così)
4 recupero l'estensione del file immagine
5 rinomino e quindi salvo l'immagine nel formato id.estensione
Ciao, ho provato a fare in questo modo:
Però non mi riprende l'ultimo id della tabella, come posso fare?Codice PHP:
move_uploaded_file($_FILES['caricare_file_1']['tmp_name'],$direzione.$_FILES['caricare_file_1']['name'].mysqli_insert_id());
UP!