ID:               29719
 User updated by:  t dot meesters at triptic dot nl
 Reported By:      t dot meesters at triptic dot nl
 Status:           Closed
 Bug Type:         Filesystem function related
 Operating System: Linux-2.4
-PHP Version:      4.3.8
+PHP Version:      php4-STABLE-200408181830
 New Comment:

Result is now:
Array
(
    [0] => test
    [1] => test spaced string
    [2] => test; with delimeter
    [3] => test with inline double quotes"
    [4] => test
with
newlines
    [5] => "test
with
newlines and double quotes"
)

Although the test with newlines and double quotes works fine now, the
problem still lies with test 3: the inline double quote.


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

[2004-08-17 16:10:12] [EMAIL PROTECTED]

This bug has been fixed in CVS.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.



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

[2004-08-17 14:25:30] t dot meesters at triptic dot nl

Description:
------------
The fgetcsv() of PHP 4.3.4 works fine, however, as of 4.3.8 the
behaviour concerning escaped string qualifiers changed.

With single line data, an initial escaped string qualifier doesn't get
noticed.
With multiple line data, the last occurrence of an escaped string
qualifier doesn't get noticed.

For the example code, use the following data:

-------------------------
CSV DATA (test.csv)
-------------------------
test;test spaced string;"test; with delimeter";"""test with inline
double quotes""";"test
with
newlines";"""test
with
newlines and double quotes"""


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

$f=fopen('test.csv','rb');
while (!feof($f)) {
    $s = fgetcsv($f,1000,';','"');
    print_r($s);
}
fclose($f);

?>


Expected result:
----------------
Array
(
    [0] => test
    [1] => test spaced string
    [2] => test; with delimeter
    [3] => "test with inline double quotes"
    [4] => test
with
newlines
    [5] => "test
with
newlines and double quotes"
)


Actual result:
--------------
Array
(
    [0] => test
    [1] => test spaced string
    [2] => test; with delimeter
    [3] => test with inline double quotes"
    [4] => test
with
newlines
    [5] => "test
with
newlines and double quotes
)



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


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

Reply via email to