gzseek() - zlib函数(压缩文件)
gzseek()
(PHP 4, PHP 5, PHP 7)
Seek on a gz-file pointer
说明
gzseek(resource $zp,int $offset[,int $whence= SEEK_SET]): intSets the file position indicator for the given file pointer to the given offset byte into the file stream. Equivalent to calling(in C)gzseek(zp, offset, SEEK_SET).
If the file is opened for reading, this function is emulated but can be extremely slow. If the file is opened for writing, only forward seeks are supported;gzseek() then compresses a sequence of zeroes up to the new starting position.
参数
$zpThe gz-file pointer. It must be valid, and must point to a file successfully opened by gzopen().
$offsetThe seeked offset.
$whence$whencevalues are:
SEEK_SET
- Set position equal to$offsetbytes.SEEK_CUR
- Set position to current location plus$offset.
If$whenceis not specified, it is assumed to be SEEK_SET
.
返回值
Upon success, returns 0; otherwise, returns -1. Note that seeking past EOF is not considered an error.
范例
gzseek() example
参见
gztell()
Tell gz-file pointer read/write positiongzrewind()
Rewind the position of a gz-file pointer
Since seek after the end is not considered an error, I doubt that "while (gzseek ($fh, $eof) == 0) $eof += $d;" will get into infinite loop.
PHP/4.3.9 contrary to the notes, gzseek() returns -1 if I try to seek past the end of the file. here is a function that will return the last seekable position, and put the file pointer there. /** sets the file pointer at the end of the file * and returns the number of bytes in the file. */ function gzend($fh) { $d = 1>= 1; $eof += $d * (gzseek($fh, $eof)? -1 : 1); } return $eof; }
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!