christdi Skrevet 22. april 2004 Del Skrevet 22. april 2004 (endret) Hei. Her er et php skript jeg vil dele med alle. Har (med hjelp fra Torbjørn) modifisert et skript jeg fant i boka PHP Cookbok fra O'Reilly. <? # Dette er et php script som søker etter filer i en mappe # og alle dens undermapper. Husk å endre bane/til/mappe til # mappen du ønsker å søke igjennom. # Skriver ut html form hvis søket er tomt. if (!$_POST["search"]) { echo " <form name='search' method='post' action='$_SERVER[PHP_SELF]'> <input type='text' name='search' class=search> <input type='submit' name='Submit' value='Submit' class=button> </form>"; } else { # Angir antall undermapper som det skal søkes i function pc_process_dir($dir_name,$max_depth = 10,$depth = 0) { if ($depth >= $max_depth) { error_log("Reached max depth $max_depth in $dir_name."); return false; } $subdirectories = array(); $files = array(); if (is_dir($dir_name) && is_readable($dir_name)) { $d = dir($dir_name); while (false !== ($f = $d->read())) { # Ekskluderer filer if (($f==".")||($f=="..")||eregi('txt|index|html|jpg',$f)) { continue; } if (is_dir("$dir_name/$f")) { array_push($subdirectories,"$dir_name/$f"); } else if(!$_POST["search"] || stristr(substr(ucfirst($f),0,-4),$_POST["search"])) { array_push($files,"$dir_name/$f"); }} $d->close(); foreach ($subdirectories as $subdirectory) { $files = array_merge($files,pc_process_dir($subdirectory,$max_depth,$depth+1)); }} return $files; } # Spesifiserer banen til mappen som det skal søkes i $files = pc_process_dir('bane/til/mappe'); #Sorterer usort($files,"filename_sort"); foreach ($files as $file) { $filename = basename($file); # Teller antall treff $counter++; echo "$counter | "; # Printer ut filnavn og fjerner etternavn på filnavnet. print "<a href=$file>".substr(ucfirst($filename),0,-4)."</a><br>"; # Skriver ut innholdet av fil #print htmlentities(implode('',array_slice($linjer,0,3)))."<br>"; #print implode('',array_slice($linjer,0,3))."<br>"; }} function filename_sort($a,$b) { $file_a = basename($a); $file_b = basename($b); return strcmp($file_a,$file_b); } ?> Mvh CD Endret 23. april 2004 av christdi Lenke til kommentar
RipZ- Skrevet 22. april 2004 Del Skrevet 22. april 2004 (endret) <? echo "Det finnes en genail funksjon på dette forumet som fargelegger koden din"; ?> Edit: Hm, nei, det gjorde det ikke. *flau* Trodde det var noe ethvert PHP-forum hadde, men der tok jeg feil. For å øke scriptet ditt sin lesevennlighet, anbefaler jeg deg å bruke indent ved brackets. Kanskje hadde det beste vært om du hadde linket til en .phps fil? Endret 22. april 2004 av RipZ- Lenke til kommentar
jorgis Skrevet 22. april 2004 Del Skrevet 22. april 2004 [ot] Ang. lesevennlighet: http://forum.hardware.no/index.php?showtopic=235498&hl= *håpe på -tag*[/ot] Ser ut som en grei sak. Skal teste den når jeg får tilgang til FTP. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå