<?php
function write_next($filename, $replaces_number)
{
echo "<tr><td>".$filename."</td><td>".$replaces_number."</td></tr>\n";
}
function do_replace($fname, $strfrom, $strto)
{
$f = fopen($fname, "r");
$fnew = fopen("delme.tmp", "w");
while (!feof($f)) {
$buffer = fgets($f);
$buffer = str_replace($strfrom, $strto, $buffer);
fputs($fnew, $buffer);
}
fclose($f);
fclose($fnew);
copy("delme.tmp", $fname);
unlink("delme.tmp");
}
function replace_util($d, $replacement_string = "")
{
$dir = opendir($d);
while ($file = readdir($dir)) {
if ($file == "." || $file == ".." || $file == "kost_replace_utility.php")
continue;
if (is_dir($d."/".$file)) {
replace_util($d."/".$file, $replacement_string." ");
} else {
do_replace($d."/".$file, $_GET['text_old'], $_GET['text_new']);
write_next($file, "xxx");
}
}
closedir($dir);
}
if ($_GET['replace']) {
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
<table>
<tr>
<td>
<center>Имя файла</center>
</td>
<td>
<center>Кол-во замен</center>
</td>
</tr>
<?php
$d = ".";
replace_util($d);
?>
</table>
</body>
</html>
<?php
} else {
?>
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
<p>
Маленькая утилита, заменяющая первую фразу на вторую, включая субдиректории.
<p>
<form method="get">
Введите фразу:
<input type="hidden" name="replace" value="true">
<input type"text" name="text_old">
<p>
Заменить на:
<input type="text" name="text_new">
<br>
<input type="submit" value="OK">
</form>
</body>
</html>
<?php
}
?>