Visualizzazione dei risultati da 1 a 6 su 6

Discussione: PHP 4: zippare un file

  1. #1
    Utente di HTML.it L'avatar di ivy_76
    Registrato dal
    Dec 2004
    Messaggi
    1,822

    PHP 4: zippare un file

    ciao

    devo comprimere / decomprimere dei file. Ho un server linux con php 4 e non posso cambiare al 5.
    Sul manuale di PHP ho trovato questa funzione

    function compress($srcName, $dstName)
    {
    $fp = fopen($srcName, "r");
    $data = fread ($fp, filesize($srcName));
    fclose($fp);

    $zp = gzopen($dstName, "w9");
    gzwrite($zp, $data);
    gzclose($zp);
    }

    // Compress a file
    compress("importazione.csv", "importazione.zip");


    Viene generato un file ZIP che però non posso aprire in quanto dice "La cartella compressa non è valida o è danneggiata".
    Come mai dà questo errore ?
    TORTA DI RISO .. F I N I T A !!

    Da M.C.S.A. a impiegato pubblico :-(

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    think simple think ringo

  3. #3
    Utente di HTML.it L'avatar di ivy_76
    Registrato dal
    Dec 2004
    Messaggi
    1,822
    Ho guardato il link che mi hai dato e ho scaticato la versione per il PHP4 ma ora ottengo il senguente errore:


    Warning: touch(): Utime failed: Operation not permitted in /srv/www/htdocs/importazione/pclzip.lib.php on line 2280

    array(1) {
    [0]=>
    array(9) {
    ["filename"]=>
    string(20) "././importazione.xls"
    ["stored_filename"]=>
    string(16) "importazione.xls"
    ["size"]=>
    int(25088)
    ["compressed_size"]=>
    int(7994)
    ["mtime"]=>
    int(1189765168)
    ["comment"]=>
    string(0) ""
    ["folder"]=>
    bool(false)
    ["index"]=>
    int(0)
    ["status"]=>
    string(2) "ok"
    }
    }



    Non capisco dove sia il problema
    TORTA DI RISO .. F I N I T A !!

    Da M.C.S.A. a impiegato pubblico :-(

  4. #4
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    Sembra un problema di permessi o altro.
    Controlla la riga 2280 e vedi se l'uso della funzione touch è necessario all'interno del codice.
    think simple think ringo

  5. #5
    Utente di HTML.it L'avatar di ivy_76
    Registrato dal
    Dec 2004
    Messaggi
    1,822
    Gia .. la funzione fa questo

    // ----- Change the file mtime
    touch($p_entry['filename'], $p_entry['mtime']);

    L' ho commentata e ora funziona. Non mi importa nulla dell'ora del file

    Cosi funziona. Però in realtà a me interesserebbe prendere un file zippato che si trova in un sito interet

    Ho modificato la chiamata al file sorgente cosi :


    require_once('pclzip.lib.php');
    $archive = new PclZip('http://www.sito.com/download/file.zip');
    if (($v_result_list = $archive->extract()) == 0) {
    die("Error : ".$archive->errorInfo(true));
    }
    echo "<pre>";
    var_dump($v_result_list);
    echo "</pre>";


    E ottengo questo errore :


    Warning: filesize(): Stat failed for http://www.icintracom.biz/download/articoliXls.zip (errno=2 - No such file or directory) in /srv/www/htdocs/importazione/pclzip.lib.php on line 2573

    Fatal error: Call to undefined function: errorinfo() in /srv/www/htdocs/importazione/prova.php on line 6


    Ovviamente il file esiste !

    Grazie !
    TORTA DI RISO .. F I N I T A !!

    Da M.C.S.A. a impiegato pubblico :-(

  6. #6
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    Credo tu debba prima salvarti il file in locale
    think simple think ringo

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