Hello all, Thanks in advance. I have a quesetion about writing to files. I am successfully opening a file and writing to it, but I'm having problems inserting text. My file currently has the following structure:
*************** [index] 24 1073946700 *************** The second line in the file represents an incremented number. And the third line is a unix timestamp of when the incremented number was last incremented. I will have a script that will allow a user to decrement this number, and revert back to the timestamp that goes along with the decremented value. Basically, my file will need the following structure: *************** [index] 3 1073946709 1073946704 1073946700 *************** Since the incremented number is at 3, there should be 3 timestamps in a "stack" order. Overwriting the sole number for incrementing or decrementing is no problem. However, inserting a new timestamp is where I get stuck. The current timestamp is over-written rather than inserting a new one. Here is my code: <? function hitcount($pagename) { $ctrPos; $timeStampPos; $buffer = ''; $formatName = '[' . $pagename . ']'; $fileHandle = -1; //Make sure the file exists if(file_exists("Reports/hitcount.txt") == TRUE) { //Attempt to open the file with read AND write priveleges $fileHandle = fopen('Reports/hitcount.txt','r+'); //Make sure we have a valid file pointer if($fileHandle) { //Attempt to seek to the given page name section $buffer = fgets($fileHandle, 1024); while(!feof($fileHandle) && $buffer != $formatName . "\r\n") { $buffer = fgets($fileHandle, 1024); } //Make sure we are not EOF if(feof($fileHandle) == FALSE) { //get the current pointer position $ctrPos = ftell($fileHandle); //read the next line which is the current hit count $buffer = fgets($fileHandle, 1024); $timeStampPos = ftell($fileHandle); //increment the hit count $buffer = $buffer + 1; //seek to where we know the hit count is fseek($fileHandle, $ctrPos); //overwrite the hit count fwrite($fileHandle, $buffer . "\r\n"); //insert the new time stamp fwrite($fileHandle, time() . "\r\n"); } else { //We ARE EOF so we need to add the new page name here and insert the first hit count and timestamp fwrite($fileHandle, $formatName . "\r\n"); fwrite($fileHandle, "1\r\n" . time()); } } rewind($fileHandle); echo("File Contents: <BR>***************<BR>"); while(!feof($fileHandle)) { $buffer = fgets($fileHandle, 1024); echo($buffer . "<BR>"); } echo("***************<BR>"); fclose($fileHandle); } } ?> -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php