function scanall($path) { echo "path {$path} <br>"; $handle = opendir($path); $i = 0; echo "i= " . $i . "<br>"; while ($dir = readdir($handle) !== false) { $i = $i++; echo "i= " . $i . "<br>"; if ($dir !== "." && $dir !== "..") { echo "no . no .. " . $dir . " <br>"; if (is_file($path . "/" . $dir)) { echo " " . $path . "/" . $dir . "<br>"; //$arDir[]= array(); } if (is_dir($path . "/" . $dir)) { echo " ar: " . $path . "/" . $dir . "<br>"; scanall($path . "/" . $dir); } } // else {$arDir[]=$dir;} } // return $arDir; }
function scanall($root) { global $find, $infectedFiles, $showOnlyInfectedFiles, $cleanInfected; $time_start = microtime_float(); $root = str_replace("//", "/", $root); echo "<li>" . $root; $directories = fetchfolders($root); ob_implicit_flush(); ob_flush(); sleep(1); if (is_array($directories)) { // get all files if (($tmp = fetchfiles($root)) !== null) { echo "<ul>"; $files = $tmp; foreach ($files as $file) { $numMatches = checkMalware($root . $file, $find); if (!empty($numMatches)) { if ($cleanInfected) { cleanInfected($root . $file, $find); } echo "<li style='background-color:c00'><p style='padding:0 0 0 5px; margin:0; color:#fff'>" . ($infectedFiles[] = $root . $file); echo " - " . (microtime_float() - $time_start) . "</p></li>"; } elseif (!$showOnlyInfectedFiles) { $infectedFiles[] = $root . $file; echo "<li>" . $file . "</li>"; // $root.$file } } echo "</ul>"; } echo "<ol>"; foreach ($directories as $dir) { echo "<li>" . $dir; ob_implicit_flush(); ob_flush(); sleep(1); // get all files if (($tmp = fetchfiles($dir)) !== null) { echo "<ul>"; $files = $tmp; foreach ($files as $file) { if ($dir[strlen($dir) - 1] === "/") { $dir = substr($dir, 0, -1); } $numMatches = checkMalware($dir . "/" . $file, $find); if (!empty($numMatches)) { if ($cleanInfected) { cleanInfected($dir . "/" . $file, $find); } echo "<li style='background-color:c00'><p style='padding:0 0 0 5px; margin:0; color:#fff'>" . ($infectedFiles[] = $dir . "/" . $file); echo " - " . (microtime_float() - $time_start) . "</p></li>"; } elseif (!$showOnlyInfectedFiles) { $infectedFiles[] = $dir . "/" . $file; echo "<li>" . $file . "</li>"; } } echo "</ul>"; } // gel all directories if ($root[strlen($root) - 1] === "/") { $tmp_root = substr($root, 0, -1); } if (($tmp = fetchfolders($dir . "/")) !== null && $dir !== $tmp_root) { foreach ($tmp as $d) { $a = scanall($d . "/"); if (is_array($a)) { array_merge($infectedFiles, $a); } } } echo "</li>"; } echo "</ol>"; } else { // get all files if (($tmp = fetchfiles($root)) !== null) { echo "<ul>"; $files = $tmp; foreach ($files as $file) { $numMatches = checkMalware($root . $file, $find); if (!empty($numMatches)) { if ($cleanInfected) { cleanInfected($root . $file, $find); } echo "<li style='background-color:c00'><p style='padding:0 0 0 5px; margin:0; color:#fff'>" . ($infectedFiles[] = $root . $file); echo " - " . (microtime_float() - $time_start) . "</p></li>"; } elseif (!$showOnlyInfectedFiles) { $infectedFiles[] = $root . $file; echo "<li>" . $file . "</li>"; // $root.$file } } echo "</ul>"; } } echo "</li>"; return $infectedFiles; }