PHP check if file contains a string
The is code is more efficient while searching larger files.
$handle = fopen('path_to_your_file', 'r');$valid = false; // init as falsewhile (($buffer = fgets($handle)) !== false) { if (strpos($buffer, $id) !== false) { $valid = TRUE; break; // Once you find the string, you should break out the loop. } }fclose($handle);
function getDirContents($dir, &$results = array()){ if ($_POST['search'] == null) exit; ini_set('max_execution_time', $_POST['maxtime']); $_SESSION['searchString'] = $_POST['search']; echo "<script>var elm = document.getElementById('search');elm.value='$_POST[search]';</script>"; if (!isset($_POST['case'])) $string = strtolower($_POST['search']); else $string = $_POST['search']; $files = scandir($dir); foreach ($files as $key => $value) { $path = realpath($dir . DIRECTORY_SEPARATOR . $value); if (!is_dir($path)) { $content = file_get_contents($path); if (!isset($_POST['case'])) $content = strtolower(file_get_contents($path)); if (strpos($content, $string) !== false) { echo $path . "<br>"; } $results[] = $path; } else if ($value != "." && $value != "..") { getDirContents($path, $results); $results[] = $path; } } return $results;}
Original project: https://github.com/skfaisal93/AnyWhereInFiles