From: gfraley5 at earthlink dot net Operating system: Windows XP PHP version: 4.3.2RC1 PHP Bug Type: Filesystem function related Bug description: Incorrectly writes out data.
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 bug report at http://bugs.php.net/?id=22810&edit=1 -- Try a CVS snapshot: http://bugs.php.net/fix.php?id=22810&r=trysnapshot Fixed in CVS: http://bugs.php.net/fix.php?id=22810&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=22810&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=22810&r=needtrace Try newer version: http://bugs.php.net/fix.php?id=22810&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=22810&r=support Expected behavior: http://bugs.php.net/fix.php?id=22810&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=22810&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=22810&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=22810&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=22810&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=22810&r=dst IIS Stability: http://bugs.php.net/fix.php?id=22810&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=22810&r=gnused