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.
PHP.mk документација
gzfile
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Патека
function.gzfile.php
Локална патека за оваа страница.
Извор
php.net/manual/en
Оригиналниот HTML се реупотребува и локално се стилизира.
Режим
Прокси + превод во позадина
Кодовите, табелите и белешките остануваат читливи во истиот тек.
Референца
function.gzfile.php
gzfile
Референца за `function.gzfile.php` со подобрена типографија и навигација.
gzfile
(PHP 4, PHP 5, PHP 7, PHP 8)
gzfile — Прочитај цела gz-датотека во низа
= NULL
= ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401 readgzfile(), освен што враќа датотека во низа.
Параметри
filename-
Името на датотеката.
use_include_path-
Ако е поставено на
true, датотеките во include_path исто така се пребаруваат.
Вратени вредности
Низа што ја содржи датотеката, еден ред по клетка, вклучувајќи празни редови, и со прикачени нови редови, или false при неуспех.
Дневник на промени
| Верзија | = NULL |
|---|---|
| 8.5.0 |
use_include_path сега е од тип bool. Претходно, беше од тип int.
|
Примери
Пример #1 gzfile() example
<?php
$lines = gzfile('somefile.gz');
foreach ($lines as $line) {
echo $line;
}
?>Белешки од корисници 4 белешки
nb_nonospamm_ на wtal dot de ¶
20 години пред
jani на php dot net ¶
пред 17 години
This function is not binary safe. (intentionally, or not, that's the question :)
The Jedi ¶
20 години пред
A quicker way to load a gziped file in a string :
<?php
function 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;
}
?>
webmaster на ragnarokonline dot de ¶
пред 22 години
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;
}
?>