Jump to content

solicion

New Members
  • Posts

    2
  • Joined

  • Last visited

    Never

Profile Information

  • Gender
    Not Telling

solicion's Achievements

Newbie

Newbie (1/5)

0

Reputation

  1. #!/usr/bin/perl ############################################################################ # Inhaltsverzeichnis ARE Erstellung: 24.02.98 # (c)1997 Update    : 22.04.98 ############################################################################ ############################################################################ # Variablen, ggf. anpassen ############################################################################ @referers = ('http://www.skagen.cl/are/','http://skagen.cl/are/'); $basedir = '/public_html/are/'; $baseurl = 'http://www.skagen.cl/are/'; $title = "ARE"; $title_url = 'http://skagen.cl/are/'; ############################################################################ # Host checken ############################################################################ &check_url; ############################################################################ # Daten von Formular parsen ############################################################################ &parse_form; ############################################################################ # Dateien ermitteln ############################################################################ @files = ('*.html'); ############################################################################ # Dateien lesen ############################################################################ &get_files; ############################################################################ # Suche starten ############################################################################ &search; ############################################################################ # HTML-Seite ausgeben ############################################################################ &return_html; exit(0); ############################################################################ # Parsen der uebergebenen Daten aus Formular ############################################################################ sub parse_form { $buffer = 'boolean=OR&case=Insensitive&terms=META';   #read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});   @pairs = split(/&/, $buffer);   foreach $pair (@pairs) {       ($name, $value) = split(/=/, $pair);       $value =~ tr/+/ /;       $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;       $FORM{$name} = $value;   } } ############################################################################ # Dateien einlesen ############################################################################ sub get_files {   chdir($basedir);   foreach $file (@files) {       $ls = `ls $file`;       @ls = split(/\s+/,$ls);       foreach $temp_file (@ls) {         if (-d $file) {             $filename = "$file$temp_file";                 push(@FILES,$filename);         }         elsif (-T $temp_file) {             push(@FILES,$temp_file);         }       }   } } ############################################################################ # Suche nach Vorgaben ############################################################################ sub search {   @terms = split(/\s+/, $FORM{'terms'});   foreach $FILE (@FILES) {       open(FILE,"$FILE");       @LINES = <FILE>;       close(FILE);       $string = join(' ',@LINES);       $string =~ s/\n//g;       if ($FORM{'boolean'} eq 'AND') {         foreach $term (@terms) {             if ($FORM{'case'} eq 'Insensitive') {               if (!($string =~ /$term/i)) {                   $include{$FILE} = 'no';     last;               }               else {                   $include{$FILE} = 'yes';               }             }             elsif ($FORM{'case'} eq 'Sensitive') {               if (!($string =~ /$term/)) {                   $include{$FILE} = 'no';                   last;               }               else {                   $include{$FILE} = 'yes';               }             }         }       }       elsif ($FORM{'boolean'} eq 'OR') {         foreach $term (@terms) {             if ($FORM{'case'} eq 'Insensitive') {               if ($string =~ /$term/i) {                   $include{$FILE} = 'yes';                   last;               }               else {                   $include{$FILE} = 'no';               }             }             elsif ($FORM{'case'} eq 'Sensitive') {               if ($string =~ /$term/) {   $include{$FILE} = 'yes';                   last;               }               else {                   $include{$FILE} = 'no';               }             }         }       }       if ($string =~ /<title>(.*)<\/title>/i) {         $titles{$FILE} = "$1";       }   } } ############################################################################ # HTML-Seite mit Daten ausgeben ############################################################################      sub return_html {     $gef = 0;     print "Content-Type: text/html\n\n";     $ausg1 = 'Sie finden hier eine alphabetische Auflistung aller ';     $ausg1 .= 'Seiten. ';     $ausg1 .= 'Dieses ist ein automatisch erstelltes Inhaltsverzeichnis. Ein ';     $ausg1 .= 'erneutes Laden dieser Seite (Reload) ist daher nicht notwendig! ';     $ausg .= "<UL>";     $links = "";     foreach $key (sort keys %include) { if($titles{$key}) { $gef++; @liste[$gef] = substr($titles{$key},0,10)." <A HREF=\"$baseurl$key\">$titles{$key}</A>"; }     }     $i = 0;     foreach $auslesen (sort @liste) { if (! (substr($auslesen,0,1) eq $alphabet) ) { $ausg .= '</UL><B>'; $links .= ' | <A HREF="#'.substr($auslesen,0,1); $links .= '"><B>'.substr($auslesen,0,1); $links .= '</B></A> '; $ausg .= '<A NAME="'.substr($auslesen,0,1); $ausg .='"><H4>'.substr($auslesen,0,1).'</H4></A>'; $ausg .= '</B>'; # $ausg .= '<A HREF="JavaScript:history.back()">Zurück zur vorhergehenden Seite</A>'; $ausg .= '<UL>'; $alphabet = substr($auslesen,0,1); } $ausg .= substr($auslesen,10).'<BR>';     }     $ausg .= '</UL><BR>';     $ausg1 .= 'Es wurden '.$gef.' Seiten gefunden.<BR>';     $ausg .= '<A HREF="JavaScript:history.back()">Zurück zur vorhergehenden Seite</A>';     # $ausg .= '<HR></FONT>';     print $ausg1;     print "<HR>".$links."<BR><HR>";     print $ausg; } ############################################################################ # Pruefung auf Host der Anfrage ############################################################################ sub check_url {   $check_referer = '0';   if ($ENV{'HTTP_REFERER'}) {       foreach $referer (@referers) {         if ($ENV{'HTTP_REFERER'} =~ /$referer/i) {             $check_referer = '1';     last;         }       }   }   else {       $check_referer = '1';   }   if ($check_referer != '1') {       print "Content-type: ","text/html\n\n";       print "<HTML><HEAD><TITLE>FEHLER</TITLE></HEAD><BODY>";       print "<h2>Keine Zugangsberechtigung zur Suchfunktion!</h2><BR><BR><BR>";       print "Dieser Service kann nur von skagen.cl/are aufgerufen werden - sorry...<BR>";       print "</BODY></HTML>";       exit(0);   } }
  2. Dear @ll: I'm desperatellt looking for a php script that assembles a directory/inventory of all the html documents that I have in the main folder. All documents hava a title and would like to appear in alphabetical order all documents (by title). Can anyone help me or mail me a suitable script please. Best wishes, Ivan from Chile ivan_garcia@123mail.cl
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.