Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
872 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 Reply

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...