ID:               22810
 Updated by:       [EMAIL PROTECTED]
 Reported By:      gfraley5 at earthlink dot net
-Status:           Open
+Status:           Bogus
 Bug Type:         Filesystem function related
 Operating System: Windows XP
 PHP Version:      4.3.2RC1
 New Comment:

Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php

Your code has a bug, I've revised your code and now the output is
identical to the input. It should be noted that even before any
modifications the generated output was indetical to the one of PHP
4.2.3

Here is the revised write code:
$fp = fopen("out",'w') or die("Problem");
$prefx = "<? Header(\"HTTP/1.0 403 Forbidden\");exit; ?>\n";
$csv_out = implode(',', $gcf);
fwrite($fp,$prefx.$csv_out);
 fclose($fp);



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

[2003-03-21 10:36:43] gfraley5 at earthlink dot net

I have also tested it under the latest CVS and the problem is there
also.

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

[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

Reply via email to