Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 36
  1. #1

    Galleria immagini in PHP

    Ciao ragazzi!
    Ho una mia galleria di immagini che salva i dati in un DB MySQL. Ho creato questa galleria in modo tale da consentire l'accesso a determinate "cartelle" in base a dei livelli di accesso che vengono assegnati agli utenti durante il login.

    Dato che il database cresce in maniera abnorme, vorrei sapere se esiste una soluzione del genere che non utilizzi un database.
    Il sistema dovrebbe consentire di settare i permessi su ogni cartella contentente immagini.
    Esiste già o me lo devo creare?

    Grazie
    "L'uomo che ha Fede è fortunato. Chi non ha Fede è una persona cui manca qualcosa nel profondo della sua esistenza. La Fede è speranza. L'uomo che abbandona questa speranza non è un uomo, è un disperato" [A. Zichichi]

  2. #2
    ehm.. non è che abbia capito proprio cosa vuoi fare.. se ho capito bene ora come ora per l'output di ogni cartella crei un if che verifica se l'utente loggato in sessione è di un livello o di un altro.. è così?

  3. #3
    [supersaibal]Originariamente inviato da stefanoi
    ehm.. non è che abbia capito proprio cosa vuoi fare.. se ho capito bene ora come ora per l'output di ogni cartella crei un if che verifica se l'utente loggato in sessione è di un livello o di un altro.. è così? [/supersaibal]
    Allora....
    Voglio che la galleria di immagini non utilizzi un database.
    Devo fare l'upload dei files in una cartella e la pagina che preleva le immagini deve controllare se l'utente corrente ha i privilegi per visualizzare la cartella o meno.

    Volendo potrai farla anche io, con un sistema da me brevettato però se c'è già in giro, tanto di guadagnato....

    Di solito le gallerie correnti, consentono solo di proteggere o meno da username e password determinate cartelle, ma non gestiscono i permessi a più livelli.
    "L'uomo che ha Fede è fortunato. Chi non ha Fede è una persona cui manca qualcosa nel profondo della sua esistenza. La Fede è speranza. L'uomo che abbandona questa speranza non è un uomo, è un disperato" [A. Zichichi]

  4. #4
    e come faresti a determinare il permesso dell'utente? da qualche parte devi pur registrarlo.. a cosa hai pensato?

  5. #5
    [supersaibal]Originariamente inviato da stefanoi
    e come faresti a determinare il permesso dell'utente? da qualche parte devi pur registrarlo.. a cosa hai pensato? [/supersaibal]
    Per esempio potrei creare un file di testo con una sintassi particolare e confrontare i dati dell'utente loggato con quelli del file di testo. E' solo un esempio.

    Se ci fosse già una cosa pronta, sarebbe meglio per tutti...
    "L'uomo che ha Fede è fortunato. Chi non ha Fede è una persona cui manca qualcosa nel profondo della sua esistenza. La Fede è speranza. L'uomo che abbandona questa speranza non è un uomo, è un disperato" [A. Zichichi]

  6. #6
    Per esempio potrei creare un file di testo con una sintassi particolare e confrontare i dati dell'utente loggato con quelli del file di testo. E' solo un esempio.

    eh.. è vero che non conosco le funzioni php per i file.. ma mi sembra molto più complicato che usare un db.. :master: :master:

  7. #7
    [supersaibal]Originariamente inviato da stefanoi
    eh.. è vero che non conosco le funzioni php per i file.. ma mi sembra molto più complicato che usare un db.. :master: :master: [/supersaibal]
    L'utilizzo del db per memorizzare immagini può avere effetti negativi.
    Da un lato, utilizzando il db puoi ricercare le informazioni molto rapidamente; dall'altro hai la necessità di molto spazio per memorizzare le immagini.

    Nel mio caso, dato che lo spazio su disco è illimitato, mentre il DB MySQL lo pago, preferisco una soluzione del genere.

    Inoltre, mentre con il database devi stare ad inserire un'immagine per volta con i vari form, con la gestione a livello di filesystem posso fare semplicmente l'upload dei files sul server in maniera molto più rapida.

    Tutto qui.
    "L'uomo che ha Fede è fortunato. Chi non ha Fede è una persona cui manca qualcosa nel profondo della sua esistenza. La Fede è speranza. L'uomo che abbandona questa speranza non è un uomo, è un disperato" [A. Zichichi]

  8. #8
    ma scusa.
    Nel db non ci memorizzi mica l'immagine....
    metti il percorso dell'immagine su server e sei a posto...
    è meglio tacere e far credere di essere stupido piuttosto che parlare e togliere ogni dubbio

  9. #9
    Cioè, fammi capire, tu vuoi dire che hai memorizzato le immagini per intero dentro un database, compresi i dati binari???

    Il modo giusto di fare questo è assolutamente semplice.

    Crea una cartella che contiene le immagini, che potrai sia uploadare che caricare via FTP, come pare a te, tanto questa cartella è SEMPRE invisibile via web.

    Dopodichè, nel database metterai solo dei dati descrittivi dell'immagine e il nome del file in cui è contenuto.

    Poi scriverai un piccolo file php che dato il codice dell'immagine, verifica se l'utente ha diritto a vederla o no, e se ce lo ha, restituisce l'immagine stessa come output:

    Codice PHP:
    $filename="cartellainvisibiledalweb".$nomefilepresodaldb;
    if (
    file_exists($filename)):
        
    header("Content-Type: image/jpeg");
        
    header("Content-Transfer-Encoding: binary");
        
    header("Content-Length: ".filesize($filename));
        
    readfile($filename);
        die();
    endif; 
    Naturalmente premurandosi di non mandare in output assolutamente nient'altro in quel file php.

    Ciao!
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  10. #10
    [supersaibal]Originariamente inviato da Shores
    Cioè, fammi capire, tu vuoi dire che hai memorizzato le immagini per intero dentro un database, compresi i dati binari???

    Il modo giusto di fare questo è assolutamente semplice.

    Crea una cartella che contiene le immagini, che potrai sia uploadare che caricare via FTP, come pare a te, tanto questa cartella è SEMPRE invisibile via web.

    Dopodichè, nel database metterai solo dei dati descrittivi dell'immagine e il nome del file in cui è contenuto.

    Poi scriverai un piccolo file php che dato il codice dell'immagine, verifica se l'utente ha diritto a vederla o no, e se ce lo ha, restituisce l'immagine stessa come output:

    Codice PHP:
    $filename="cartellainvisibiledalweb".$nomefilepresodaldb;
    if (
    file_exists($filename)):
        
    header("Content-Type: image/jpeg");
        
    header("Content-Transfer-Encoding: binary");
        
    header("Content-Length: ".filesize($filename));
        
    readfile($filename);
        die();
    endif; 
    Naturalmente premurandosi di non mandare in output assolutamente nient'altro in quel file php.

    Ciao! [/supersaibal]

    Hmmm.... mica male...
    Ma la "cartella invisibile dal web", che permessi dovrebbe avere? Vorrei che solo lo script debba poterci accedere.

    Però scusa, così dovrei comunque caricare i dati relativi ad ogni immagine.
    Se volessi dare solo il nome della cartella? Lo script potrebbe leggere tutti i files presenti, e visualizzarli in base ai permessi. Si potrebbe fare?

    P.S.: Memorizzo anche le immagini nel DB VVoVe:
    "L'uomo che ha Fede è fortunato. Chi non ha Fede è una persona cui manca qualcosa nel profondo della sua esistenza. La Fede è speranza. L'uomo che abbandona questa speranza non è un uomo, è un disperato" [A. Zichichi]

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.