webForumDet fria alternativet

Ett _mycket_ enkelt sökscript för filer

PHP

0 svar · 1 497 visningar · startad av sgtpepper

Medlem sedan apr. 20007 588 inlägg
Frågan#1

Detta script söker i en angiven katalogs filer efter ett sökord och listar länkar till de filer som innehåller ordet. Ingen felkontroll, ingenting. Använd det endast som en grund för vidare utveckling eller något, eftersom varje fil öppnas en efter en så är det söligt för att dra till med en enorm "understatement" :)

Fyll i konfigurationsvariablerna så att dom passar ditt system.

Demonstration av scriptet.

<html>
<body>

<?
	// Konfiguration
	$searchPath = "/usr/local/apache/katalog_som_skall_sökas";
	$urlBase = "http://www.mittdomän.se/katalog_som_skall_sökas";
	
	// Kolla om formvariabeln search är satt, om inte, visa ett sökformulär
	if (!isset($search))
	{
?>
		<form action="<?= $php_self ?>">
			<input type="text" name="search">
			<input type="submit">
		</form>
<?
	}
	else
	{
		// Öppna alla filer i sökkatalogen en och en och sök i dessa
		$pathHandle = dir($searchPath);
	 
	 	// Iterera igenom katalogen
		while($entry = $pathHandle->read()) 
		{
			// Plocka ut filnamn efter filnamn och lägg på katalognamnet
			$currentFile = $searchPath . "/" . $entry;
			
			// Om aktuellt filnamn är en fil och inte en katalog
			if (is_file($currentFile))
			{
				// Läs in hela filen i ett svep
				$contents = join ('', file($currentFile));
				
				// Sök efter angivet sökord
				if (eregi($search,$contents))
					$result .= "<a href='$urlBase/$entry'>$entry</a><br>\n";
			}
		}
		$pathHandle->close();
	
		// Om result-variabeln är tom => inga resultat funna
		if ($result == "")
			print "Inga filer funna";
		else
			print "Resultat:<br>" . $result;
	}
?>      

</body>
</html>
253 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)