Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 16 su 16
  1. #11
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Facciamo così, proviamo a cambiare strada:

    Il file zip lo creo tramite le funzioni del server e non col php, usando exec(istruzione).

    Così creo un file fisico da inviare.

    Io lo invio e... come faccio a decidere quando cancellarlo?

    Se il download lo forzo tramite header e viene però annullato dall'utente, lo script, che potrebbe contenere alla fine un "unlink" si blocca. (Ho già fatto la prova)

    Altre idee?
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  2. #12
    Utente di HTML.it L'avatar di moskitoita
    Registrato dal
    Feb 2004
    Messaggi
    1,255
    Potresti cancellare i file quando sono passate tot ore dalla data di creazione

  3. #13
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Sta diventando l'unica soluzione...

    Il problema in questo caso è che lo spazio (disponibile) sul server è di 3Gb e gli utenti del sito diverse centinaia al giorno... ho paura di intasarlo in quel modo.

    Grazie, vedrò cosa fare... intanto se qualcun altro ha una soluzione ben venga
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  4. #14
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    up
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  5. #15
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    up
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  6. #16
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613

    Mi "sono risolto"

    Codice PHP:
    ## Output file
        
    $output $_SERVER['DOCUMENT_ROOT']."/zip/".str_replace(array(" "".") , ""microtime()).".zip";
        
        
    ############################
            # ciclo che crea la lista di file in filenames
            ############################
            ## E' solo un esempio

            
    while($condizione)
                
    $filenames .= ' "'.$pathalfile."'"## Lo spazio all'inizio è importante

            ###############################################
        
        
    exec('zip -j '.$output.$filenames);
        
        
    $temp tmpfile();
        
        
    $src fopen($output'r');
        
        while(!
    feof($src))
        {
            
    $content fread($src100000);
            
    fputs($temp$content);
        }
        
        
    fclose ($src);
        
        
    unlink($output);

        
    header("Pragma: public");
        
    header("Expires: 0");
        
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
        
    header("Cache-Control: private",false);
        
    header("Content-Type: application/zip");
        
    header("Content-Disposition: attachment; filename=FileTemp.zip;" );
        
    header("Content-Transfer-Encoding: binary");
        
        
    fseek($temp0);
        
        while(!
    feof($temp))
        {
            echo 
    fread($temp100000);
        }

        exit(); 
    Me lo ha detto sempre la mamma di studiare.
    tmpfile() cercatevelo nel manuale per sapere che fa
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

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 © 2026 vBulletin Solutions, Inc. All rights reserved.