Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
874 views
in Technique[技术] by (71.8m points)

php - file_get_contents and file_put_contents with large files

I'm trying to get file contents, replace some parts of it using regular expressions and preg_replace and save it to another file:

$content = file_get_contents('file.txt', true);

$content_replaced = preg_replace('/[/m]{1}s+({{.*}})s+[x{4e00}-x{9fa5}]+/u', 'replaced text', $contents);


if ($content_replaced) {
  file_put_contents('file_new.txt', $content_replaced);
  echo "Successful!";
}
else {
  echo "Some error ocurred";
}

this piece of code works fine with small files, but when I try the original file, which is about 60Mb, it just keeps giving me a message "Some error ocurred".

Any suggestions are greatly appreciated.

Update. No errors in the logs, memory limit is set to 1024M

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

I've had max/limit issues with file_put_contents.

No idea what the limits might be, but using fwrite solved my troubles and I put down the bottle.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...