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

    Creare area simile a dropbox

    Buon giorno.
    Ho la necessità di dover creare un area condivisa in stile dropbox.
    In pratica, ho delle sezioni tipo squadre di calcio.
    Quindi per ogni squadra avrò una cartella e file specifici per quella sezione.
    Questi file li devo caricare in ftp sul mio server.
    Una volta creata la cartella e caricato i file, genero un link ftp.
    Questo link devo inviarlo per e-mail solo ad alcuni utenti, i quali potranno vedere soltanto quella cartella presente nell'ftp.

    C'è qualcuno di voi che abbia mai realizzato una cosa simile?
    Grazie.

  2. #2
    Utente di HTML.it L'avatar di mt19
    Registrato dal
    Jul 2011
    Messaggi
    180
    Creare download link in ftp non ha senso, falli in http, così potrai gestire tutte le autorizzazioni con PHP:
    crei un database e assegni a ogni directory un numero random (oppure fai un md5/sha1 di un testo random). Crei una pagina in PHP con un $_GET che prenda il numero o la stringa. In base a essa guardi se sul db c'è, se c'è fai una lista di file contenuti nella cartella, altrimenti restituisci un errore 404. Questo è il modo più semplice senza l'utilizzo delle sessioni, altrimenti devi creare una tabella utente, a ogni utente dai un id gruppo. Crei una tabella gruppo, con tutti i vari gruppi. Ogni gruppo avrà la possibilità di accedere a una o più directory, quando prendi l'id della directory (che in questo caso non serve che sia random) controlli se il gruppo a cui appartiene l'utente può accedere alla directory, se può allora gli fai il listing dei file, altrimenti no.

    Per le email, anche in questo caso crei una tabella gruppo e una tabella email. A ogni email associ un gruppo, poi con la funzione mail di PHP mandi le email a ogni email del gruppo

  3. #3
    ok ti ringrazio. ti faccio sapere. grazie ancora

  4. #4
    buon giorno di nuovo.
    Prendendo spunto dal tuo post ho pensato di fare cosi.

    1) Creo la tabella "TB_directory" dove andrò, in un secondo momento, ad inserire i nomi delle cartelle 'directory' con modalità "md5/sha1" ed un campo timestap per verificare il tempo di validità di quella directory. Trascorsi tot giorni, attraverso una funzione, andrò ad eliminare quella directory ed il suo contenuto.

    2) Creo la pagina per l'upload dei file. Un momento prima di caricare i file, creo la directory nominandola in modalità "md5/sha1", carico il file, ed eseguo una insert nella tabella "TB_directory", con il nome del file e il tempo di validità.

    3) Creo la pagina che fa il listing dei file, di una sola directory.

    Domanda:
    ammettendo il caso che, abbia 10 cartelle nominate in quel modo, devo comunicare attraverso una mail a 10-20 utenti, qual'è la cartella che possono visualizzare attraverso un link.

    Pensavo di inserire nel testo della mail il link che punta alla pagina che fa il listing dei file, comprendendo il nome della directory "md5/sha1". In questo modo dovrebbero puntare direttamente a quella directory.Giusto?

    Per quanto riguarda i permessi che mi indicavi, per ogni directory creata quali permessi "chmod" dovrei prevedere?
    Codice PHP:
    <?php
    // Lettura e scrittura per il proprietario, e nessun permesso per gli altri
    chmod("/somedir/somefile"0600);

    // Lettura e scrittura per il proprietario, e lettura per gli altri
    chmod("/somedir/somefile"0644);

    // Accesso completo per il proprietario, e lettura ed esecuzione per gli altri
    chmod("/somedir/somefile"0755);

    // Accesso completo per il proprietario, e lettura ed esecuzione per il gruppo del proprietario
    chmod("/somedir/somefile"0750);
    ?>
    Grazie mille.Buona giornata.
    Ultima modifica di ANTAGONIA; 03-09-2014 a 12:04

  5. #5
    Utente di HTML.it L'avatar di mt19
    Registrato dal
    Jul 2011
    Messaggi
    180
    Si, mandi il link già con il $_GET completato. Ovvio che se gli utenti si passano il link tra loro allora tutti potranno vedere i file, c'è questo rischio?

    Comunque 644 per i file mi sembra ottimo
    Se hai bisogno ancora, chiedi pure

  6. #6
    ciao buon giorno.
    Il rischio non dovrebbe esserci, perché gli utenti non dovrebbero conoscersi tra loro, però chi lo sa?
    ok per il 0644.
    Se ho qualche altro dubbio chiedo.
    Grazie mille.

  7. #7
    Utente di HTML.it L'avatar di mt19
    Registrato dal
    Jul 2011
    Messaggi
    180
    Bhe, se vuoi evitare anche questo pericolo dovresti creare un sistema di login, ma la cosa si complica parecchio: non te la cavi più con poche righe di codice...

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.