string replace in a large file with php
php, readfile, replace, string
Solution
If you aren't required to use PHP, I would highly recommend performing stuff like this from the command line. It's by far the best tool for the job, and much easier to use.
In any case, the `sed` (Stream Editor) command is what you are looking for:
sed s/search/replace oldfilename > newfilename
If you need case-insensitivity:
sed s/search/replace/i oldfilename > newfilename
If you need this to perform dynamically within PHP, you can use `passthru()`:
$output = passthru("sed s/$search/$replace $oldfilename > $newfilename");
Problem
I am trying to do a string replace for entire file in PHP. My file is over 100MB so I have to go line by line and can not use `file_get_contents()`. Is there a good solution to this?