ID: 24071 Updated by: [EMAIL PROTECTED] Reported By: artem at w510 dot tm dot odessa dot ua -Status: Closed +Status: Open -Bug Type: Documentation problem +Bug Type: Filesystem function related Operating System: redhat PHP Version: 4.3.2 New Comment:
>From code at php-src/main/streams/streams.c:1693 (revision 1.61) it seems that this is supposed to work (but doesn't). if (stream && stream->ops->seek && (stream->flags & PHP_STREAM_FLAG_NO_SEEK) == 0 && strchr(mode, 'a') && stream->position == 0) { off_t newpos = 0; /* if opened for append, we need to revise our idea of the initial file position */ if (0 == stream->ops->seek(stream, 0, SEEK_CUR, &newpos TSRMLS_CC)) { stream->position = newpos; } } If it will be fixed, reclasify this back to docprob so we can add a note that it works since version x.x.x. (Spotted by [EMAIL PROTECTED]) Previous Comments: ------------------------------------------------------------------------ [2004-08-07 10:56:50] [EMAIL PROTECTED] This bug has been fixed in the documentation's XML sources. Since the online and downloadable versions of the documentation need some time to get updated, we would like to ask you to be a bit patient. Thank you for the report, and for helping us make our documentation better. "ftell() gives undefined results for append-only streams (opened with "a" flag)." ------------------------------------------------------------------------ [2003-06-06 18:33:38] artem at w510 dot tm dot odessa dot ua maybe, but i used this without any problem from version 4.0 (one of first) to store initial append position - that' about some years... and it's worked through updates up to 4.2.3 ------------------------------------------------------------------------ [2003-06-06 18:11:03] [EMAIL PROTECTED] 'a' mode forces the kernel to always write at the end of the file. ftell() will give undefined results for append-only streams, as will seeking. Writing to such a file should always be appended, regardless of the results from ftell(). Making this a documentation problem. ------------------------------------------------------------------------ [2003-06-06 17:46:09] artem at w510 dot tm dot odessa dot ua after installing 4.3.2 $fr = fopen("filename", "a"); $pointer = ftell($fr); points to 0! forced to add fseek($fr, 0, SEEK_END); $pointer = ftell($fr); to move to the file end ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=24071&edit=1