ID: 22810
User updated by: gfraley5 at earthlink dot net
Reported By: gfraley5 at earthlink dot net
Status: Open
Bug Type: Filesystem function related
Operating System: Windows XP
PHP Version: 4.3.2RC1
New Comment:
I have also tested it under the latest CVS and the problem is there
also.
Previous Comments:
------------------------------------------------------------------------
[2003-03-20 20:23:39] gfraley5 at earthlink dot net
The following code works correctly on 4.3.1 (and prior) but does not
appear to work correctly on 4.3.2RC1. I have only tested this on
Windows XP.
<?
$fp = fopen("php432.csv.php",'r') or die("Problem");
while ($data = fgetcsv($fp,1024,",")) {
$row++;
if ($row<1) continue;
$gcf = $data;
}
fclose($fp);
$fp = fopen("php432.csv.php",'w') or die("Problem");
flock($fp,2);
for ($i=0;$i<count($gcf);$i++) {
if ($i==0) $prefx = "<? Header(\"HTTP/1.0 403 Forbidden\");exit;
?>\n";
else $prefx = "";
fwrite($fp,$prefx.$gcf[$i].',');
if ($i<count($gcf)-1) fwrite($fp,',');
}
flock($fp,3);
fclose($fp);
?>
Here is a simple example of the file that is read in (php432.csv.php):
<? Header("HTTP/1.0 403 Forbidden");exit; ?>
1043203275,localhost,2003-01-21,20:41:15,Anonymous,,,,,,,,blank,Test,,
When run under 4.3.1, it correctly writes out
<? Header("HTTP/1.0 403 Forbidden");exit; ?>
1043203275,localhost,2003-01-21,20:41:15,Anonymous,,,,,,,,blank,Test,,
However, under 4.3.2RC1, it truncates the last digit (5) from the first
field. It writes out
<? Header("HTTP/1.0 403 Forbidden");exit; ?>
104320327,localhost,2003-01-21,20:41:15,Anonymous,,,,,,,,blank,Test,,
There is other erratic behavior also. If I modify the code to include
a header row in line 2, and modify the code accordingly, it will skip
the first comma separator like this:
1043203275localhost,2003-01-21,20:41:15,Anonymous,,,,,,,,blank,Test,,.
I have not included that code for brevity.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=22810&edit=1