【发布时间】:2015-04-22 19:10:30
【问题描述】:
我的服务器中有两百万个文本文件可供互联网用户在线访问。我被要求尽快对这些文件进行更改(字符串替换操作)。我正在考虑在服务器上的每个文本文件上做一个str_replace。但是,我不想占用服务器并使其无法被互联网用户访问。
你认为以下是个好主意吗?
<?php
ini_set('max_execution_time', 1000);
$path=realpath('/dir/');
$objects = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path), RecursiveIteratorIterator::SELF_FIRST);
foreach($objects as $name => $object){
set_time_limit(100);
//do str_replace stuff on the file
}
【问题讨论】:
-
“服务器中有两百万个文本文件” - wut.
-
弄清楚如何做 2,剩下的就跟着来了,就像绵羊一样
-
为什么这会使服务器无法访问?它应该能够同时运行多个请求。
-
这听起来不像是 PHP 的工作,而是
find和sed。 superuser.com/search?q=replace+multiple+files+sed 类似的东西:superuser.com/questions/146389/… -
@user2070775 我猜你不希望你的服务器在几分钟后挂起,对吧?阅读我的答案,特别是
xargs的解释。