全文搜索和替换

  •   2009-07-31/22:56
  • <?php  
    exec("/bin/grep -r '$oldword' $rootpath", $results, $errorCode);  
    if ($errorCode){  
    if ($errorCode == 1){  
    echo "Possibly no files were found with $oldword in them<BR>\n";  
    }  
    echo "OS Error: $errorCode<BR>\n";  
    echo "Check 'man errno' and count down<BR>\n";  
    echo "Usually paths/permissions<BR>\n";  
    }  
    while (list(,$path) = each($results)){  
    $parts = explode(':', $path);  
    $path = $parts[0];  
    $fp = fopen($path, 'r') or print("Cannot read $path<BR>\n");  
    if ($fp){  
    $data = fread($fp, filesize($path));  
    fclose($fp);  
    $newdata = str_replace($oldword, $newword, $data);  
    $fp = fopen($path, 'w') or print("Cannot write $path<BR>\n");  
    if ($fp){  
    fwrite($fp, $newdata);  
    fclose($fp);  
    echo $path, "<BR>\n";  
    }  
    }  
    }  
    ?>  
    Example  
    http://yourserver.com/globalreplace.php?oldword=test&newword=text&rootpath=/path/to/dir  

    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多