Home >Backend Development >PHP Tutorial >PHP batch replacement program example code_PHP tutorial
The code is as follows:
/***************************************************** *************************
batch-replace, v1.1
*************************************************** *************************
file: batch-replace_utf8.php
functionality: This program can scan all files in the specified directory and replace the content. It can be used to delete hacked horses in batches and update certain content on the page in batches.
This program is suitable for modifying UTF-8 pages.
/********************************************** *******************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
*************************************************** *************************/
set_time_limit(3600);
if($_POST['Submit']=='Start performing operation'){
$dir = $_POST['searchpath'];
$shortname = $_POST['shortname'];
$isall = $_POST['isall'];
$isreg = $_POST['isreg'];
if (!get_magic_quotes_gpc()) {
$sstr = $_POST['sstr'];
$rpstr = $_POST['rpstr'];
} else {
$sstr = stripslashes($_POST['sstr']);
$rpstr = stripslashes($_POST['rpstr']);
}
//Analyze shortname
$arrext = explode ("|",$shortname);
if (!is_dir($dir)) return;
if ($sstr == '') return;
//Remove the / at the end
if(substr($dir,-1)=='/') $dir = substr($dir,0,strrpos($dir,"/"));
//List all directories
if ($isall == 1){
hx_dirtree($dir);
}else{
hx_dealdir($dir);
}
exit();
}
function hx_dirtree($path="."){
global $sstr,$rpstr,$isreg,$arrext;
$d = dir($path);
while(false !== ($v = $d->read())) {
if($v == "." || $v == "..") continue;
$file = $d->path."/".$v;
if(is_dir($file)) {
echo "
$v
"; hx_dirtree($file);function hx_dealdir($dir){
global $sstr,$rpstr,$isreg,$arrext;
if ($dh = opendir($dir)) {
while (false !== ($file = readdir($dh))) {
if(filetype($dir.'/'.$file)=='file'){
$ext=substr(strrchr($file,"."), 1);
if( in_array($ext , $arrext) ){
echo "
}
//把生成文件的过程写出函数
function tofile($file_name,$file_content){
if (is_file ($file_name)){
@unlink ($file_name);
}
$handle = fopen ($file_name,"w");
if (!is_writable ($file_name)){
return false;
}
if (!fwrite ($handle,$file_content)){
return false;
}
fclose ($handle); //关闭指针
return $file_name;
}
?>