Re: file management
| From: | Gerard Samuel | Date: | Sat, 08 Sep 2001 00:26:39 +0000 |
| Subject: | Re: file management | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-66503@lists.php.net to get a copy of this message | ||
You know what, I think Im explaining myself wrong. The word truncate in
itself means I believe to cut at the bottom. This isn't what I need.
Basically, its a chat script and all the newer messages are at the
bottom, and when the file reaches x bytes I want to 'cut off the head'
of the file by x lines. leaving the most current messages at the bottom
alone.
Ive been messing around with truncate all this time getting the wrong
results. Why cant files be as easy as databases.... :)
If any one has a clue please point it to me.
Meantime, back to the manual.....
Thanks
Sterling Hughes wrote:
On Fri, 7 Sep 2001, Gerard Samuel wrote:Can a file be truncated from the beginning, and by x amount of lines?? ThanksTruncated from the beginning? Do you mean truncate the file by X lines, starting from the first position in the file, well, yeah:<?php $fp = fopen("filename", "r+");// Start counting from 0, set to one, if you want to start counting // from 1 $count = 0;while (!@feof($fp)) { // Not used, but unless your line lengths are longer than // 4K, this will effectively skip over a line $line = fgets($fp, 4096);if (++$count == $line_number_you_want) { ftruncate($fp, ftell($fp)); } }fclose($fp); ?>Please note the above is devoid of error checking :)-Sterling