ID:               29163
 User updated by:  ramon_herrera at eloyalty dot com
 Reported By:      ramon_herrera at eloyalty dot com
 Status:           Open
 Bug Type:         *Directory/Filesystem functions
-Operating System: win2k
+Operating System: win2k & GNU/Linux (FC2)
 PHP Version:      5.0.0
 New Comment:

The same results occur when running a similar CLI script on my Fedora
Core 2 machine under both versions (4.3.7 and 5.0.0).


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

[2004-07-14 22:02:00] ramon_herrera at eloyalty dot com

Description:
------------
A field consisting of one space character is read as an empty string by
the fgetcsv function in version 5.0.0 where the version 4.3.7 fgetcsv
reads the space as it is presented.

The startup .bat file and the CSV file are both listed below.

./test.bat, set to use the PHP 5.0.0 binaries
--------------------------------------------\
@echo off
set PHPROOT=.
REM set PHPVER=4.3.7
set PHPVER=5.0.0
set PHPEXE=%PHPROOT%\bin_%PHPVER%\php.exe
set PHPINI=%PHPROOT%\etc\test.ini
set PHPPHP=%PHPROOT%\usr\test.php
%PHPEXE% -c %PHPINI% -f %PHPPHP%
--------------------------------------------/

./var/zinput.txt
--------------------------------------------\
foo,bar,nextisspace, ,previsspace,last

--------------------------------------------/

Reproduce code:
---------------
<?
define('ZINPUT', 'var/zinput.txt');;
define('FDLM',   ',');
define('LLEN',   512);

$fhin  = @fopen(ZINPUT, 'rb');
while ( FALSE !== ($s = fgetcsv($fhin, LLEN, FDLM)) )
        $inputlines[] = $s;
fclose($fhin);

var_dump($inputlines);

echo "\r\nTested with version " . phpversion() . "\r\n";
?>

Expected result:
----------------
D:\foo>test.bat
array(1) {
  [0]=>
  array(6) {
    [0]=>
    string(3) "foo"
    [1]=>
    string(3) "bar"
    [2]=>
    string(11) "nextisspace"
    [3]=>
    string(1) " "
    [4]=>
    string(11) "previsspace"
    [5]=>
    string(4) "last"
  }
}

Tested with version 4.3.7

D:\foo>

Actual result:
--------------
D:\foo>test.bat
array(1) {
  [0]=>
  array(6) {
    [0]=>
    string(3) "foo"
    [1]=>
    string(3) "bar"
    [2]=>
    string(11) "nextisspace"
    [3]=>
    string(0) ""
    [4]=>
    string(11) "previsspace"
    [5]=>
    string(4) "last"
  }
}

Tested with version 5.0.0

D:\foo>


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


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

Reply via email to