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

    [php+upload] Consiglio gestione file

    Ciao a tutti.
    Ho implementato uno script che permette di uploadare file .zip di piccole dimensioni sul server che mi da hosting.
    Tutto funziona correttamente: gli utenti del sito possono uppare i file e poi scaricarli.

    Volevo un consiglio per quanto riguarda una gestione più ordinata possibile di questi file sul server.

    Per evitare possibili upload di file con lo stesso nome (es: pippo.zip) che altrimenti verrebbero sovrascritti, modifico i nomi dei file con un hash di 32 caratteri creato da un MD5, in questo modo:
    Codice PHP:
    $hash=md5($nomefile+$username+$size+$numerocasuale
    Le stesse variabili le salvo in un db, che mi permetterà di ricostruire il nome originale al momento del download.
    L'hash mi permette di creare nomi file lunghi e soprattutto diversi (escludendo un possibile caso dove lo stesso utente uppa 2 file con lo stesso nome, di identica dimensione e fatalità il numero random restituito è identico)

    Secondo voi, la mia idea è corretta?
    Oppure ci sono altri metodi che mi permettono di non sovrascrivere file già inseriti?
    (non voglio fare un controllo prima sul nome, perchè dovrei costringere l'utente a cambiare nome del file più volte sperando di trovare un nome non usato)

    Mi date qualche idea o qualche altra strada da seguire?

    Per ora lo script funziona bene: mi manca soltanto la parte che mi ricostruisce il nome originale (che non so come fare avendo il file sul server) evitando così all'utente di scaricare file di 32 caratteri.zip

    Spero di essere stato chiaro.
    Grazie per un'eventuale risp.

  2. #2
    ma io farei così nomeFile_MMGGAAAA_ora o qualcosa di simile...


  3. #3
    Originariamente inviato da dinucciarturo
    ma io farei così nomeFile_MMGGAAAA_ora o qualcosa di simile...

    ci avevo pensato.. ma avevo dei dubbi sul salvataggio dell'ora prima sull'hash e poi sul db (non so.. ma potrebbe passare qualche secondo che mi sbagli l'ora dell'hash da quella sul db)

    però, ripensandoci a mente fredda se io faccio così:

    1) salvo l'data+ora in una var
    2) creo l'hash con questa var
    3) salvo nel db questa var

    così non ho problemi.. quindi andrebbe anche bene.
    in alternativa ci sono altri metodi che di solito su usano per gestire i file in modo migliore?

  4. #4
    Originariamente inviato da davidino80
    ci avevo pensato.. ma avevo dei dubbi sul salvataggio dell'ora prima sull'hash e poi sul db (non so.. ma potrebbe passare qualche secondo che mi sbagli l'ora dell'hash da quella sul db)

    però, ripensandoci a mente fredda se io faccio così:

    1) salvo l'data+ora in una var
    2) creo l'hash con questa var
    3) salvo nel db questa var

    così non ho problemi.. quindi andrebbe anche bene.
    in alternativa ci sono altri metodi che di solito su usano per gestire i file in modo migliore?

    mmm...perchè devi fare l'hash dell'ora?!?!?

  5. #5
    per impedire che un altro utente posti un file con nome identico.. così ho 32 caratteri sempre diversi.

    cmq ho risolto inserendo anche utente+data+ora+sec .. è praticamente impossibile che un altro utente uppi un file identico..

    ora vorrei ricostruire il file originale al momento del download.. (i dati li ho in un db).. c'è qualche comando che rinomina il file remoto prima di scaricarlo?

    grazie

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.