PHP实现整站搜索找到指定字符串并展示出来,还可以实现批量字符串替换,方便虚拟空间维护使用参考代码
<?php
function getAllDir($path, &$file_dir)
{
if (!is_dir($path)) {
return false;
}
$data = scandir($path);
foreach ($data as $value) {
if ($value != '.' && $value != '..') {
if (is_dir($path . '/' . $value) && $value != '.' && $value != '..') {
$file_dir[] = $path . '/' . $value;
getAllDir($path . '/' . $value, $file_dir);
}
}
}
}
set_time_limit(0);
$file_dir = Array();
$file_dir[] = $_SERVER['DOCUMENT_ROOT'];
getAllDir($_SERVER['DOCUMENT_ROOT'], $file_dir);
echo '<pre>';
print_r($file_dir);
print_r("共计统计到:" . count($file_dir) . "个文件夹<br/>\n\r");
$find_files = Array();
foreach ($file_dir as $dir) {
$data = scandir($dir);
foreach ($data as $d) {
if ($d != '.' && $d != '..') {
$file_name = $dir . DIRECTORY_SEPARATOR . $d;
$pathinfo = pathinfo($file_name);
if ($file_name != $_SERVER['SCRIPT_FILENAME']) {
if (is_file($file_name) && $pathinfo['extension'] == 'html') {
$content = file_get_contents($file_name);
$n = "aliyuncsscn";
// 字符串搜索是否存在 aliyuncsscn
if (strpos($content, $n) !== false) {
$find_files[] = $file_name;
// file_put_contents($file_name, $n . $content);
}
} elseif (is_file($file_name) && $pathinfo ['extension'] == 'php') {
$content = file_get_contents($file_name);
$n = "aliyuncsscn";
if (strpos($content, $n) !== false) {
$find_files[] = $file_name;
// file_put_contents($file_name, $n . $content);
}
}
}
}
}
}
print_r("共找的:" . count($find_files) . "个文件夹<br/>\n\r");
print_r($find_files);
print_r('--------');相关文章