Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    150

    script per creare file zip dinamici

    Sono giorni che ho girato mezzo internet per riuscire a capire come si creano file zip dinamici; ho visto che bisogna procedere tramite l' utilizzo di una classe.

    Non avendo alcuna dimistichezza con le classi e dopo svariati inutili tentativi, alzo bandiera bianca.

    Il mio problema è questo:
    ho creato un file download.php per far scaricare il video a cui ci si riferisce passandogli il parametro id, cioè, ad esempio, download.php?id=108; ogni video è scomposto in 3 parti ( altrimenti sarebbe troppo pesante ).

    Io ciò che faccio, è zippare manualmente le 3 parti del video e farlo scaricare all' utente ma vorrei che questo fosse fatto dal server. Come posso fare?

    Adesso nel file download.php ho scritto del codice che interroga il database e tira fuori gli url di dove sono collocati le 3 parti di ogni video memorizzati nelle variabili:

    $url_parte_1
    $url_parte_2
    $url_parte_3

    Vorrei che lo script, a partire da queste 3 variabili mi creasse un file zip ( e magari includesse anche all' interno un file html - ad esempio pippo.html )

    Qualcuno sa continuarmi lo script ?

    Ovviamente posso pagare per farlo ( pagamento tramite paypal )

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Non mi offro per farti il lavoro perchè non ho tempo

    Posso però darti qualche dritta, ad esempio usi php4 o php5?

    Se usi php5 esiste il modulo zip e se abilitato creare uno zip non è troppo difficile, a questa pagina trovi un semplice esempio :

    http://it2.php.net/manual/en/functio...ve-addfile.php

    Se invece usi php4 esiste una classe chiamata PCLZIP, e a questo indirizzo c'è un esempio di creazione di un zip:

    http://www.phpconcept.net/pclzip/man...methods-create

    Altri fattori che devi tenere presente sono il tempo di esecuzione dello script, se i file sono molto grossi potresti sforare il time limit.
    Ti consiglio di provare uno dei due metodi con dei semplici files di testo, dopodichè testare la cosa in un esempio reale.

    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    150
    Grazie per la risposta!

    Di installato ho PHP Version 5.2.5 e da phpinfo() leggo questi dati (che credo siano quelli necessari)

    zip
    Zip enabled
    Extension Version $Id: php_zip.c,v 1.1.2.38 2007/08/06 22:02:32 bjori Exp $
    Zip version 2.0.0
    Libzip version 0.7.1


    zlib
    ZLib Support enabled
    Stream Wrapper support compress.zlib://
    Stream Filter support zlib.inflate, zlib.deflate
    Compiled Version 1.2.1.2
    Linked Version 1.2.1.2

    Directive Local Value Master Value
    zlib.output_compression Off Off
    zlib.output_compression_level -1 -1
    zlib.output_handler no value no value



    Ho provato lo script al link indicatomi

    Codice PHP:
    <?php
    $zip 
    = new ZipArchive;
    if (
    $zip->open('test.zip') === TRUE) {
        
    $zip->addFile('index.txt''newname.txt');
        
    $zip->close();
        echo 
    'ok';
    } else {
        echo 
    'failed';
    }
    ?>
    L' ho caricato nella "root" del sito e l'ho chiamato crea.php. Sempre nella root del sito ho caricato anche un file index.txt ma risponde sempre failed

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    sei su linux?

    Potrebbe essere un problema nei permessi di creazione di files nella root del sito.

    Prova a creare una directory con permessi 777 tramite ftp, e dai quel percorso per la creazione del file.

    ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    150
    Dopo un altro pomeriggio di tentativi, alla fine funziona tutto, sono riuscito a far creare file zip come volevo

    Pur avendo php5, quanto riportato in

    http://it2.php.net/manual/en/functio...ve-addfile.php

    non sono riuscito a farlo funzionare mentre ho proceduto come descritto in

    http://www.phpconcept.net/pclzip/man...methods-create

    utilizzando la classe. I permessi 777 servono altrimenti il file zip non si crea.



    Grazie a gianiaz per il prezioso aiuto

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.