Spesso si ha la necessità di realizzare un sito che permetta all'utente di scaricare dei files. Altre volte invece bisogna realizzare delle gallerie di immagini. Nulla di particolarmente complicato, basta preparare delle pagine con dei classici links ai files in questione che avremo salvato sul server, magari in una apposita cartella, ed il gioco è fatto. E se volessimo rendere queste risorse accessibili solo a determinati utenti? In questo articolo vedremo come poter risolvere questo problema attraverso la memorizzazione dei files all'interno di MySQL.
Se infatti i files sono conservati nel database, sarà l'applicazione PHP a verificare se l'utente ha i diritti necessari per accedervi e l'utente non potrà bypassare in alcun modo questi controlli poiché sarà il PHP a fornirgli i files che richiede. Le possibilità sono innumerevoli, dalla creazione di complessi sistemi di distribuzione file alla realizzazione di tecniche anti-leach che eviteranno la creazione di links diretti di altri siti alle vostre risorse.
Per illustrare le linee guida da seguire nella creazione di un sistema di memorizzazione e recupero di files da MySQL realizzeremo tre semplici script. Il primo avrà il compito di prelevare un file inviato da un utente e di inserirlo in MySQL. Il secondo script genererà un elenco dei files presenti all'interno del database. Cliccando su uno di questi link verrà lanciato il terzo script, che si occuperà dell'estrazione del file selezionato e del suo invio al browser.
Per ragioni didattiche gli script proposti contengono le sole istruzione necessarie al raggiungimento nei vari scopi. Non possono essere quindi considerati pronti per l'utilizzo in un sito web di produzione, ma costituiscono sicuramente un buon punto di partenza per coloro che vorranno implementare tali tecniche.