ID:               27575
 Updated by:       [EMAIL PROTECTED]
 Reported By:      fbernardi at bbros dot it
-Status:           Open
+Status:           Bogus
-Bug Type:         Filesystem function related
+Bug Type:         Documentation problem
 Operating System: Red Hat Linux
 PHP Version:      4.3.4
 New Comment:

Duplicate of Bug #24071.

You cannot rely on ftell() or fseek() when working with an append-only
stream.


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

[2004-03-11 14:33:10] fbernardi at bbros dot it

Description:
------------
ftell() reports the size of bytes added to a file instead of the
position of the file pointer in the file.

I guess this behavior is reproduceable only on appending data to a
file, since on new files the file pointer position is at the same place
of the number of bytes added.

Reproduce code:
---------------
<?php

# Adding something to the test-file to see the behavior

$fp = fopen("test", w);

fwrite($fp, "Ciao");

fflush($fp);

fclose($fp);

# test-file saved and closed



# Opening a file with non-zero size (just added some bytes)

$fp = fopen("test", a);

fwrite($fp, "Ciao");

fflush($fp);

$s = filesize("test");

$t = ftell($fp);

print("The pointer should be at the position $s, but ftell reports
$t");

fclose($fp);

?>



Expected result:
----------------
The pointer should be at the position 8, but ftell reports 8

Actual result:
--------------
The pointer should be at the position 8, but ftell reports 4


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


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

Reply via email to