
20.03.2008, 15:05
|
|
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
С нами:
10021597
Репутация:
905
|
|
Код:
$ wc -lc file.txt
13713242 154744102 file.txt
$ cat php gzopen.php
<?php
$handle_in = fopen("file.txt", "r");
$handle_out = gzopen("file.gz", "w");
while (!feof($handle_in)) // пока не достигнут конец файла архивируем файл
{
$buffer = fgets($handle_in);
gzwrite($handle_out,$buffer);
}
fclose($handle_in); // закрываем файл (источник)
gzclose ($handle_out); // закрываем архивный файл (приёмник)
?>
$ time php gzopen.php
real 1m27.121s
user 1m22.449s
sys 0m1.588s
$ cat gzopen2.php
<?php
$max_size = memory_get_usage () * 0.8;
$handle_in = fopen("file.txt", "r");
$handle_out = gzopen("file.gz", "w");
while (!feof($handle_in)) // пока не достигнут конец файла архивируем файл
{
$buffer = fread ($handle_in, $max_size);
gzwrite($handle_out,$buffer);
}
fclose($handle_in); // закрываем файл (источник)
gzclose ($handle_out); // закрываем архивный файл (приёмник)
?>
$ time php gzopen2.php
real 0m36.477s
user 0m34.346s
sys 0m1.016s
$
|
|
|