- Home
- Categorie
- Coding e Sistemistica
- PHP
- Classe per elencare ed aprire file contenuti in un archivio zip
-
Classe per elencare ed aprire file contenuti in un archivio zip
Ciao a tutti.
Di recente ho aggiunto al mio portale** sharetext (sharetext.altervista.org) la possibilità di allegare ai testi caricati file ZIP.
Ora mi piacerebbe fare in modo che l'utente (ospite o registrato) possa scegliere se scaricare l'archivio oppure aprirlo online, visualizzando i file in esso contenuto e poterli aprire.
Esiste una funzione che fa questo? Possibilmente senza tanti inutili fronzoli (come il flash) e, soprattutto, Open Source (Sharetext è software libero)...Ah, un'ultima cosa: non deve essere possibile aprire file .php, ovviamente!!!
Nel caso questa funzione non esistesse e qualcuno volesse crearla sarebbe ben accetto a diventare collaboratore di Sharetext
Grazie mille!:)
-
Non so se altervista ha l'estensione zip installata, nel caso puoi usare la libreria stessa:
php.net/manual/en/book.zip.php
Nel caso in cui non abbia l'estensione installata, puoi contare su PclZip, una classe standalone, di cui ho sentito parlare piuttosto bene. Facci un giro.
-
Grazie, ma ho dei problemi:
vorrei fare in modo che, oltre ad elencare i file contenuti nell'archivio (cosa che ho fatto molto facilmente grazie al suggerimento di PaTer), possa anche visualizzarli.
Purtroppo usando la funzione GetFromIndex() ho dei problemi:- Se provo ad aprire file binari o file di testo troppo lunghi la funzione non resituisce niente
- Come fare in modo di evitare l'esecuzione di codice PHP?
- Se riuscissi ad aprire un file binario, esso verrebbe visualizzato oppure scaricato?
- Se aprisse un file binario riconosciuto dal browser (ex PDF), verrebbe visualizzato bene, visualizzato come testo o scaricato?
- Google indicizzerebbe eventuali PDF, ODT, DOC...?
A questo punto (dopo aver risolto i punti 1 e 2), mi consigliereste di procedere (non so come) ad un sistema che visualizza il file se visualizzabili da browser o scarica i file se non visualizzabili direttamente oppure ad un download forzato del file (scavalcando il punto 2)... ma in questo modo il punto 5 sarebbe possibile?
Grazie.