Hello - hoping to find some direction with this. I think this is fairly simple for more experienced php coders but I'm having trouble with it. It's a php grep text string search that results in a list of files that contain the string.
Hoping to split the $results value (list of file names) into separate links to open the file. I was able to convert into a link for the first file listed, but it links to that same file for all the entries in the list. I assume that maybe an array of $results needs to be created first rather than try and work with $results at the end?
<?php
/**
* E.Yekta
* cafewebmaster.com
*/
define("SLASH", stristr($_SERVER[SERVER_SOFTWARE], "win") ? "\\" : "/");
$path = ($_POST[path]) ? $_POST[path] : dirname(__FILE__) ;
$q = $_POST[q];
function php_grep($q, $path){
$fp = opendir($path);
while($f = readdir($fp)){
if( preg_match("#^\.+$#", $f) ) continue; // ignore symbolic links
$file_full_path = $path.SLASH.$f;
if(is_dir($file_full_path)) {
$ret .= php_grep($q, $file_full_path);
} else if( stristr(file_get_contents($file_full_path), $q) ) {
$ret .= "$file_full_path\n";
}
}
return $ret;
}
if($q){
$results = php_grep($q, $path);
}
echo <<<HRD
<pre >
<form method=post>
<input name=path size=100 value="$path" /> Path
<input name=q size=100 value="$q" /> Query
<input type=submit>
</form>
$results
</pre >
HRD;
?>
php_grep.php