Как я могу разархивировать .gz файл с PHP?

Использовать: str.capitalize() для преобразования первой буквы строки (содержащейся в переменной str) в заглавную букву и возвращает всю строку.

Пример: Команда: «hello» .capitalize () Выход : Hello

12
задан Shamoon 20 July 2010 в 18:30
поделиться

4 ответа

Загрузить библиотеку Unzip и включить или автозагрузить библиотеку unzip

$this->load->library('unzip');
2
ответ дан 2 December 2019 в 03:07
поделиться

gzopen является слишком большой работой. Это более интуитивно:

$zipped = file_get_contents("foo.gz");
$unzipped = gzdecode($zipped);

работы на http страницах, когда сервер выкладывает gzipped данные также.

0
ответ дан 2 December 2019 в 03:07
поделиться

Сам PHP имеет ряд функций для работы с файлами gzip.

Если вы хотите создать новый несжатый файл, это будет примерно так.

Примечание: это не проверяет, существует ли целевой файл первым, не удаляет входной файл и не выполняет проверку ошибок. Вы действительно должны исправить это, прежде чем использовать это в производственном коде.

// This input should be from somewhere else, hard-coded in this example
$file_name = 'file.txt.gz';

// Raising this value may increase performance
$buffer_size = 4096; // read 4kb at a time
$out_file_name = str_replace('.gz', '', $file_name);

// Open our files (in binary mode)
$file = gzopen($file_name, 'rb');
$out_file = fopen($out_file_name, 'wb');

// Keep repeating until the end of the input file
while(!gzeof($file)) {
    // Read buffer-size bytes
    // Both fwrite and gzread and binary-safe
    fwrite($out_file, gzread($file, $buffer_size));
}

// Files are done, close files
fclose($out_file);
gzclose($file);

Примечание. Это касается только gzip . Он не имеет дело с дегтем.

44
ответ дан 2 December 2019 в 03:07
поделиться

Используйте функции, реализованные расширением Zlib Compression.

Этот фрагмент показывает, как использовать некоторые функции, доступные из расширения:

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

// read 3 char
echo gzread($zp, 3);

// output until end of the file and close it.
gzpassthru($zp);
gzclose($zp);
3
ответ дан 2 December 2019 в 03:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: