ID:               39874
 Updated by:       [EMAIL PROTECTED]
 Reported By:      sramage at nucleuslabs dot com
 Status:           Open
-Bug Type:         *Compression related
+Bug Type:         Documentation problem
 Operating System: FREEBSD 5
 PHP Version:      4.4.4
 New Comment:

gzread() and gztell() operate on _uncompressed_ bytes, that should be
mentioned in gztell() docs (already done for gzread()).
Reclassified as docu problem.


Previous Comments:
------------------------------------------------------------------------

[2006-12-18 18:36:46] sramage at nucleuslabs dot com

Description:
------------
The GZTELL function returns the gz file pointer as the uncompressed
data byte position not the real file pointer location when writing to a
file.

I am not sure if this is a bug or just the way it is. but it doesn't
really make sense so I am reporting it.

The example is very simple and clear.

just use any text file that is 2 MB or bigger in length to recreate
this bug

We use the recommened php ini with the following changes:

memory_limit = 32M
error_reporting  =  E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR        
upload_max_filesize = 10Mb
session.cookie_lifetime = 0
session.cookie_path = /
session.gc_probability = 1
session.gc_divisor = 1
session.gc_maxlifetime = 3600
session.entropy_length = 16
session.entropy_file = /dev/urandom

modules:

'./configure' '--enable-versioning' '--enable-memory-limit'
'--with-layout=GNU' '--disable-all' '--with-regex=php'
'--with-pcre-regex' '--with-pear' '--enable-ftp'
'--with-openssl=/usr/local/ssl' '--enable-ftp'
'--with-mysql=/usr/local/mysql' '--enable-overload' '--enable-session'
'--enable-xml' '--with-zlib=yes'
'--with-apxs=/usr/local/apache/bin/apxs' '--prefix=/usr/local/php'
'--with-config-file-path=/usr/local/php' '--enable-mbstring=all'
'--enable-track-vars' '--enable-force-cgi-redirect' '--with-gettext'
'--with-pspell' 



Reproduce code:
---------------
<?
//Example: 
//some_file.sql plain text file - 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";
?>






Expected result:
----------------
gztell = 249264 
filesize = 249264

(or something closer to the actual file pointer position in the gz
file)




Actual result:
--------------
gztell = 2048000
filesize = 249264


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=39874&edit=1

Reply via email to