全文搜索和替换

发表于:2007-07-01来源:作者:点击数: 标签:
?php exec(/bin/grep -r @#$oldword@# $rootpath, $results, $errorCode); if ($errorCode){ if ($errorCode == 1){ echo Possibly no files were found with $oldword in themBR; } echo OS Error: $errorCodeBR; echo Check @#man errno@# and count downB
<?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> ";  
}  
echo "OS Error: $errorCode<BR> ";  
echo "Check @#man errno@# and count down<BR> ";  
echo "Usually paths/permissions<BR> ";  
}  
while (list(,$path) = each($results)){  
$parts = explode(@#:@#, $path);  
$path = $parts[0];  
$fp = fopen($path, @#r@#) or print("Cannot read $path<BR> ");  
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> ");  
if ($fp){  
fwrite($fp, $newdata);  
fclose($fp);  
echo $path, "<BR> ";  
}  
}  
}  
?>  
Example  
http://yourserver.com/globalreplace.php?oldword=test&newword=text&rootpath=/path/to/dir  

原文转自:http://www.ltesting.net