Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    96

    eliminare file a sessione finita

    ciao,
    qualcuno sa darmi un'idea per risolvere il seguente problema:
    diciamo che ho creato un serivizio per cui un utente crea (attraverso un wizard) un file .pdf . Alla fine del wizard questo file viene salvato sul server e sulla pagina del client si inserisce il link per poterlo scaricare... Il problema è: Dovendo eliminare via via i file che sono stati prodotti, l'unica soluzione che mi sono dato è:
    l'utente se ne va, la sessione scade e il file viene distrutto (unlink, giusto?). Ma come la gestisco la fine della sessione? Non posso basarmi su un "logout" da parte dell'utente, se non lo fa rischio di trovarmi quintali di file sul server!!!
    Cosa proponete?

  2. #2
    gestisci le sessioni in modo alternativo, cioè usando il db e stabilisci un timeout dopo il quale elimini il record corrispondente ad un determinato utente e cancelli il file correlato.
    I'm your dreams, make you real... I'm your eyes when you must steel...I'm pain when you can't feel...sad but true !

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    96
    il db può essere un'idea, ma il timeout della session gestito con session_cache_expire? e come faccio a gestire l'evento di fine della sessione e seguente cancellazione del file... mi ci vorrebbe un servizio!

  4. #4
    no, non serve... tu ogni volta che l'utente fa il login lo inserisci nel db, poi quando si carica la home controlli i record che hanno un timestamp inferiore a quello stabilito (ad esempio 1 giorno) e li elimini.
    I'm your dreams, make you real... I'm your eyes when you must steel...I'm pain when you can't feel...sad but true !

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    96
    giusto, in effetti è la soluzione più semplice...
    grazie

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    96
    ripensandoci ho scrtto una soluzione più semplice, senza db e controlli sulla session:
    basta leggere, all'apertura della home, con un loop nella directoy la data di creazione del file con filectime() e verificare se è inferiore ad un tempo stabilito o no...

  7. #7
    certo, anche questo può andare bene però tieni presente che se devi leggere la data di molti file appesantisci molto di più il server...
    I'm your dreams, make you real... I'm your eyes when you must steel...I'm pain when you can't feel...sad but true !

  8. #8
    Ciao,
    tieni presente che la garbage collection di PHP elimina automaticamente le sessioni inutilizzate dopo un certo tempo

    http://forum.html.it/forum/showthrea...hlight=garbage
    per favore NIENTE PVT TECNICI da sconosciuti

  9. #9
    Originariamente inviato da Fabio Heller
    Ciao,
    tieni presente che la garbage collection di PHP elimina automaticamente le sessioni inutilizzate dopo un certo tempo

    http://forum.html.it/forum/showthrea...hlight=garbage
    si, ma il suo problema è quello di cancellare dei files creati dall'utente durante la sessione.. quindi credo l'unica soluzione veramente robusta sia quella del db...
    I'm your dreams, make you real... I'm your eyes when you must steel...I'm pain when you can't feel...sad but true !

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    96
    chiaramente la garbage_collection è uno strumento utile ma se il problema primario sono le sessioni, in questo caso potrei addirittura farne a meno di sessioni, tanto il problema è sui file e quindi si tratta di fare sempe un controllo su timestamp relativi ai file e non ad eventuali sessioni...
    certo, la cosa migliore sarebbe per me intercettare l'uscita da sito dell'utente ed eliminare il file della sua session...

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 © 2024 vBulletin Solutions, Inc. All rights reserved.