<HTML>
<title>File search like Unix Grep </title>
<?php
/**
* PHP Script Developed by Sampath Nannam and Cinu Chacko to Scan a directory and display the information
*
* (some functions are PHP 5 specific)
*/
// time when this script starts
$startTime = time();
// create object of the class
require_once('ClassGrepSearch.inc.php');
require_once('exampleSearchCustomFunctions.php');
$classGrepSearch = ClassGrepSearch::getInstance();
// The extentions to be searched (in this example, the extentions are comma seperated)
$filesWithExtentionsToBeSearched = "php, css, js,txt";
// the path of the directory to be searched
if(isset($_POST['path'])) {
$scanDir = $_POST['path'];
}
else
{
$scanDir="aliceInWonderland/";
}
// set the value for the string to be searched
if(isset($_POST['search'])) {
$searchString = $_POST['search'];
}
else {
$searchString = 'Alice';
}
if(isset($_POST['spanbegin'])) {
$startSpan = $_POST['spanbegin'];
}
if(isset($_POST['spanend'])) {
$endSpan = $_POST['spanend'];
}
if(isset($_POST['limit'])) {
$limit = $_POST['limit'];
}
if(isset($_POST['searchtype'])) {
$searchType = $_POST['searchtype'];
}
if(isset($_POST['casesensitive'])) {
$caseSensitive = $_POST['casesensitive'];
}
if(isset($_POST['searchcountonly'])) {
$searchCountOnly = $_POST['searchcountonly'];
}
// creates an array of all the provided extentions
$classGrepSearch->createArrayOfExtentions(",",$filesWithExtentionsToBeSearched);
// Sets the search type
$classGrepSearch->setSearchType($searchType);
$classGrepSearch->setSearchString($searchString);
$classGrepSearch->setScanDir($scanDir);
$classGrepSearch->setCaseSensitive(($caseSensitive=="yes")?true:false);
if($limit=="span")
{
$fileCounter = $classGrepSearch->readDirSubdirs($scanDir,getBookNames($startSpan,$endSpan));
}
else
{
$fileCounter = $classGrepSearch->readDir($scanDir);
}
// print information
echo "<HR> <H3> <center> File search like Unix Grep !</center></H3>";
echo "<HR> The files with <font color='green'><b>".$classGrepSearch->lastStrReplace(",", "and", $filesWithExtentionsToBeSearched)."</b></font> extentions are scanned in <font color='red'><B>".$classGrepSearch->getScanDir()."</B></font> Directory";
echo "<HR> The pattern/string '<font color='red'><b>".$classGrepSearch->getSearchString()."</font></b>' was found in following <font color='Green' ><b> $fileCounter </b> </font>file(s): <BR>";
$arrayOfFilenames = $classGrepSearch->getarrayOfFilenames();
for($i=0,$j=0;$i<sizeof($arrayOfFilenames);$i++)
{
$fileName = str_replace($_SERVER['DOCUMENT_ROOT'],"",$arrayOfFilenames[$i]);
$linkName = str_replace($_SERVER['DOCUMENT_ROOT'],"Z:",$arrayOfFilenames[$i]);
$classGrepSearch->setGlobalCount(0);
if($searchCountOnly !="yes")
{
$htmlLines = createLinesFromFile($scanDir.$fileName,$classGrepSearch);
}
else
{
$classGrepSearch->setGlobalCount( $classGrepSearch->getSearchCount($scanDir.$fileName));
}
if($htmlLines !=""||$searchCountOnly =="yes")
{
echo "<BR><b> # ".(($j++)+1).") </b><font color='green'><b> <a href='"."getFileContents.php?file_path=".urlencode($classGrepSearch->getScanDir().$fileName)."' target='_blank' style='color:green;text-decoration:none'> ".$fileName." </a> </font></b> [".$classGrepSearch->getGlobalCount(). " time(s)]";
echo "<BR>".$htmlLines;
}
}
//calulate the time (in seconds) to execute this script
$endTime = time();
$totalTime = ($endTime - $startTime);
// total time taken to execute this script
$timeTaken = $classGrepSearch->convertSecToMins($totalTime);
echo "<BR><BR><hr><center><h4 >Info: Searched in <font color='blue'>".sizeof($classGrepSearch->getDirFile())."</font> Files in <font color='blue'>".sizeof($classGrepSearch->getDirArray())."</font> directories. </h4><hr>Total time taken: <font color='blue'> $timeTaken </font> </center><HR><center></b> Developed by: <a href=\"http://www.seraphimtech.net\">www.seraphimtech.net</a><HR>";
?>
|