ID:               27730
 Updated by:       [EMAIL PROTECTED]
 Reported By:      clemens at gutweiler dot net
 Status:           Open
-Bug Type:         Filesystem function related
+Bug Type:         Documentation problem
 Operating System: Linux 2.6.3 (and 2.4.20)
 PHP Version:      4.3.5
 New Comment:

This isn't actually a bug.  I have changed this to a documentation
problem as the example on the fgetcsv() page is not very good.  The
text description of the function is however correct.  You get a
zero-element array for blank lines and FALSE on end of file.  So your
code should have a loop like this:



while( ($d = fgetcsv( $fp, 4096, ';' )) !== FALSE )


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

[2004-03-27 08:50:09] clemens at gutweiler dot net

Description:
------------
fgetcsv() breaks reading when a line has no cdata (eg. \n\n)

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

        

        $fn = tempnam( '/tmp', 'test' );

        if( $fp = fopen( $fn, 'w' ) ) {

                fwrite( $fp, "one;val1\ntwo;val2\n\nthree;val3\n" );

                fclose( $fp );

                

                if( $fp = fopen( $fn, 'r' ) ) {

                        $items = array( );

                        while( $d = fgetcsv( $fp, 4096, ';' ) ) {

                                $items[] = $d;

                        }

                        fclose( $fp );

                        var_dump( $items );

                }

        }

        

?>

Expected result:
----------------
$items-count of 4 

Actual result:
--------------
$item-count of 2


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


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

Reply via email to