gzfile

(PHP 4, PHP 5, PHP 7, PHP 8)

gzfileLê todo o arquivo gz em um array

Descrição

gzfile(string $filename, int $use_include_path = 0): array|false

Esta função é idêntica a readgzfile(), exceto que ela retorna o arquivo em um array.

Parâmetros

filename

O nome do arquivo.

use_include_path

Você pode definir este parâmetro opcional como 1, se você deseja buscar o arquivo no include_path também.

Valor Retornado

Um array contendo o arquivo, uma linha por célula, linhas vazias incluídas, e com novas linhas ainda anexadas, ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo de gzfile()

<?php
$lines
= gzfile('algumarquivo.gz');
foreach (
$lines as $line) {
echo
$line;
}
?>

Veja Também

adicione uma nota

Notas Enviadas por Usuários (em inglês) 4 notes

up
3
The Jedi
20 years ago
A quicker way to load a gziped file in a string :<?phpfunction gzfile_get_contents($filename, $use_include_path = 0){    //File does not exist    if( !@file_exists($filename) )    {    return false;    }        //Read and imploding the array to produce a one line string   $data = gzfile($filename, $use_include_path);   $data = implode($data);   return $data;}?>
up
2
nb_nonospamm_ at wtal dot de
19 years ago
In PHP4.4.1 I noticed that gzfile only reads up to 8190 bytes per line. I had a 20K SQL query that was cut into 3 parts - and wondered why the SQL server complained. Reading an uncompressed file with the file() command works as expected.
up
1
jani at php dot net
16 years ago
This function is not binary safe. (intentionally, or not, that's the question :)
up
0
webmaster at ragnarokonline dot de
21 years ago
This works similar to gzfile() but it returns the file in a string instead of an array and doesn't write it to stdout compared to readgzfile.

Note: unlike the usual file-functions filesize won't work here, since the length-parameter of gzread refers to the uncompressed length, while filesize returns the size of the compressed file.

<?php
function gzfile_get_contents($filename, $use_include_path = 0) {
    $file = @gzopen($filename, 'rb', $use_include_path);
    if ($file) {
        $data = '';
        while (!gzeof($file)) {
            $data .= gzread($file, 1024);
        }
        gzclose($file);
    }
    return $data;
}
?>
To Top