Bug #10989 Updated: Wrong file writing
| From: | trax102 at hotmail dot com | Date: | Mon, 21 May 2001 09:52:14 +0000 |
| Subject: | Bug #10989 Updated: Wrong file writing | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-56022@lists.php.net to get a copy of this message | ||
ID: 10989
User Update by: trax102@hotmail.com
Old-Status: Open
Status: Closed
Bug Type: Filesystem function related
Operating system: Win2K-Win98-UNIX
PHP Version: 4.0 Latest CVS (2001-05-21)
Description: Wrong file writing
Ok, I've found the solution: simply call clearstatcache() before filesize().
Previous Comments:
---------------------------------------------------------------------------
[2001-05-21 10:57:52] trax102@hotmail.com
<?php
//At the end of the script "test.txt" should
//contains "ADD1ADD2", but, as you can see,
//it will contains just "ADD2".
//Is there a work around for this problem ?
function read_file ($file_name)
{
$file = fopen($file_name, "r");
flock($file, 1);
$content = trim(fread($file, filesize($file_name)));
flock($file, 3);
fclose ($file);
return ($content);
}
function write_file ($content, $file_name)
{
$file = fopen($file_name, "w");
flock($file, 2);
fwrite($file, $content);
flock($file, 3);
fclose ($file);
}
$filename="test.txt";
write_file("", $filename);
$content = read_file($filename);
$content .= "ADD1";
write_file($content, $filename);
$content = read_file($filename);
$content .= "ADD2";
write_file($content, $filename);
?>
---------------------------------------------------------------------------
Full Bug description available at: http://bugs.php.net/?id=10989