solicion Posted July 15, 2006 Share Posted July 15, 2006 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 Chileivan_garcia@123mail.cl Quote Link to comment https://forums.phpfreaks.com/topic/14719-php-script-to-make-directory/ Share on other sites More sharing options...
solicion Posted July 15, 2006 Author Share Posted July 15, 2006 #!/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); }} Quote Link to comment https://forums.phpfreaks.com/topic/14719-php-script-to-make-directory/#findComment-58717 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.