PHP appending to file from specific position

2020-04-11 06:00发布

问题:

In php i am opening a text file and appending to it. However I need to append 3 chars before the end of file. In other words i need to append/write from a specific place in the file.

Can any one help?

Best Regards Luben

回答1:

You need to open the file for edit, seek to the desired position and then write to the file, eg.:

<?php
  $file = fopen($filename, "c");
  fseek($file, -3, SEEK_END);
  fwrite($file, "whatever you want to write");
  fclose($file);
?>

Further reference at php.net - fseek doc

Hope that helps.



回答2:

If it's a short text file and you are only doing this once you can read in the contents (with fread()), store it only upto 3 chars from the end using substring and then append your new content onto the end of that and write.

But as I say if this is a regular thing and/or with large files, this isn't the best approach. I'll have a think.

Hope this helps