Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    gzopen($filename, "a") non va! alternative?

    Ho notato che l'apertura di un file con gzopen e scegliendo la modalità append ("a" oppure "ab") non funziona!

    ovvero sembra creare il file ma il risultato è completamente diverso da quello dell'apertura con w!!!

    (le dimensioni di quello compresso risultano superiori a quello non compresso!!!)

    sul manuale dicono che supporta gli stessi mode di fopen()... ma ciò non è vero

    anche con questo scriptino si può vedere che l'append non funziona!!

    Codice PHP:
    $filename 'test.gz';
    echo 
    "<html>\n<head></head>\n<body>\n<pre>\n";
    $s "Only a test, test, test, test, test, test, test, test!\n";

    // open file for writing with maximum compression
    $zp gzopen($filename"w9");

    // write string to file
    gzwrite($zp$s);

    // close file
    gzclose($zp);

    // open file for reading
    $zp gzopen($filename"r");

    // read 3 char
    echo gzread($zp3);

    // output until end of the file and close it.
    gzpassthru($zp);
    gzclose($zp);

    echo 
    "\n";

    echo 
    "</pre>\n</body>\n</html>\n";

    ?> 
    se cambiate "w9" con "a9"

    il risultato sarà completamente diverso...

    ora il mio problema è che con gzopen() devo farci un logger... che ogni volta scriva partendo dalla fine del file... come posso fare?

    nemmeno gzseek supporta il seeking in rifermento alla fine del file... ma supporta il seeking solo in maniera assoluta!!! :master:

    come posso fare per arrivare in fretta (e senza sovraccaricare il server) alla fine del file?

    (caricare il file in una stringa e aggiungerci la nuova riga alla fine quindi ricomprimerlo è una soluzione che ho già scartato in quanto il logger può diventare anche di 8/10mb... un valore che supera di certo il memory limit...)

    ho pensato ad un gzseek che aumenta il valore del file di 1 ogni volta dentro ad un while tipo così:

    Codice PHP:
    $ipblocker_config['fp_seeker'] = 0;
    while(!
    gzeof($ipblocker_config['fp'])){
        
    $ipblocker_config['fp_seeker']++;
        
    gzseek($ipblocker_config['fp'], $ipblocker_config['fp_seeker']);

    ma mi va in loop

    help please

  2. #2
    niente da fare

    ci rinuncio e mi tengo i logs non compressi

  3. #3
    in effetti la cosa interesserebbe anche a me e non solo......
    Come si faaaaaa
    MiServe di Santino Bivacqua
    PHP/Ruby/Node.js Developer
    www.miserve.com

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.