Bug #10989 Updated: Wrong file writing
| From: | derick@php.net | Date: | Mon, 21 May 2001 09:55:50 +0000 |
| Subject: | Bug #10989 Updated: Wrong file writing | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-56023@lists.php.net to get a copy of this message | ||
ID: 10989
Updated by: derick
Reported By: trax102@hotmail.com
Old-Status: Closed
Status: Analyzed
Bug Type: Filesystem function related
Operating system:
PHP Version: 4.0 Latest CVS (2001-05-21)
Assigned To:
Comments:
This should not be closed yet, as I think it's a valid bug.
Derick
Previous Comments:
---------------------------------------------------------------------------
[2001-05-21 11:52:14] trax102@hotmail.com
Ok, I've found the solution: simply call clearstatcache() before filesize().
---------------------------------------------------------------------------
[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);
?>
---------------------------------------------------------------------------
ATTENTION! Do NOT reply to this email!
To reply, use the web interface found at http://bugs.php.net/?id=10989&edit=2