ID: 29163 User updated by: ramon_herrera at eloyalty dot com Reported By: ramon_herrera at eloyalty dot com Status: Assigned Bug Type: Filesystem function related Operating System: win2k & GNU/Linux (FC2) -PHP Version: 4.3.8 +PHP Version: 5.0.0 Assigned To: iliaa New Comment:
The version 4.3.8 fgetcsv() works fine. It reads a single space character from a CSV field containing a single space character. If that is what my data is then that is exactly what I want fgetcsv() to read. The version 5.0.0 fgetcsv() drops that space character. Thank you very much for your efforts. Previous Comments: ------------------------------------------------------------------------ [2004-07-20 22:40:06] [EMAIL PROTECTED] The reported behaviour is inconsistent with these of older versions prior to 4.3.4. Assigning to the person who broke it. ------------------------------------------------------------------------ [2004-07-15 18:07:12] ramon_herrera at eloyalty dot com Version 4.3.8 results are identical to the version 4.3.7 results. ------------------------------------------------------------------------ [2004-07-15 06:50:20] ramon_herrera at eloyalty dot com (Ignore this comment. I just needed to clarify the bug category.) ------------------------------------------------------------------------ [2004-07-15 06:46:49] ramon_herrera at eloyalty dot com 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). ------------------------------------------------------------------------ [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