ID: 29163
Updated by: [EMAIL PROTECTED]
Reported By: ramon_herrera at eloyalty dot com
Status: Open
Bug Type: Filesystem function related
Operating System: win2k & GNU/Linux (FC2)
PHP Version: 5.0.0
-Assigned To:
+Assigned To: iliaa
New Comment:
The reported behaviour is inconsistent with these of
older versions prior to 4.3.4.
Assigning to the person who broke it.
Previous Comments:
------------------------------------------------------------------------
[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