Zend - The PHP Company




Files and Directories

Add Code


Global Replace  

Type: application
Added by: RLYNCH
Entered: 13/02/2000
Last modified: 08/12/1999
Rating: - (fewer than 3 votes)
Views: 6741
A global search and replace using PHP. You'll need to specify several parameters as GET/POST parameters: oldword=[text to replace] newword=[new text] rootpath=[path to dir containing files to alter] Note also that PHP must have read/write access to the files to alter them.


<?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($fpfilesize($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";
        }
      }
    }
?>


Usage Example


globalreplace.php?oldword=test&newword=text&rootpath=globalreplace


Rate This Script





Search



This Category All Categories