• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • gztell()

    (PHP 4, PHP 5, PHP 7)

    Tell gz-file pointer read/write position

    说明

    gztell(resource $zp): int

    Gets the position of the given file pointer; i.e., its offset into the uncompressed file stream.

    参数

    $zp

    The gz-file pointer. It must be valid, and must point to a file successfully opened by gzopen().

    返回值

    The position of the file pointer or FALSE if an error occurs.

    参见

    ok so this function returns the gz file pointer as the uncompressed data byte length so if you are trying to put something in to specific size gzip files it won't work.
    Example: 
    <?
    //some_file.sql filesize = 2,048,000 bytes
    $text_fp=fopen('some_file.sql','r');
    $gz_fp=gzopen('some_file.sql.gz','wb9');
    while(!feof($text_fp)){
      gzwrite($gz_fp,fread($text_fp,655360));
    }
    fclose($text_fp);
    echo "gztell = ".gztell($gz_fp)."<BR>\n";
    gzclose($gz_fp);
    echo "filesize = ".filesize('some_file.sql.gz')."<BR>\n";
    ?>
    Output:
    gztell = 2048000
    filesize = 249264
    I will report this as a bug but post a note here for now

    上篇:gzseek()

    下篇:gzuncompress()