php e large bzip file
Inviato: mer 27 apr 2011, 15:26
Salve.
Ho un sito scritto in phb e mi ritrovo con una problematica.
Sul sistema ci sono file di testo bzippati che il mio script deve leggere riga per riga.
per bzip non esiste un equivalente di fgets che uso per i file normali.
Una soluzione che adotto è quella di scompattare il file in uno temporaneo e leggere da quello.
La soluzione non mi piace per niente.
Poi questi file possono essere anche abbastanza grandi, e sul mio filesystem non posso mettere file più grandi di 8M (inutile dire che non li posso mettere nemmeno in ram dentro una variabile).
L'unica soluzione che mi viene in mente è quella di utilizzare una variabile buffer e utilizzarla a mo' di pipe. qualcosa tipo
Secondo voi funziona. La soluzione non è molto bella.
Voi ne avete altre?
Ho un sito scritto in phb e mi ritrovo con una problematica.
Sul sistema ci sono file di testo bzippati che il mio script deve leggere riga per riga.
per bzip non esiste un equivalente di fgets che uso per i file normali.
Una soluzione che adotto è quella di scompattare il file in uno temporaneo e leggere da quello.
La soluzione non mi piace per niente.
Poi questi file possono essere anche abbastanza grandi, e sul mio filesystem non posso mettere file più grandi di 8M (inutile dire che non li posso mettere nemmeno in ram dentro una variabile).
L'unica soluzione che mi viene in mente è quella di utilizzare una variabile buffer e utilizzarla a mo' di pipe. qualcosa tipo
Codice: Seleziona tutto
{
$buf=bzread($bz,4096);
preleva i caratteri da 0 al primo \n da $buf ed eliminali da $buf
ripeti finchè non ci sono più \n
} ripeti finchè il file non è finito
Voi ne avete altre?