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 Chile[email protected] 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); }} 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
Archived
This topic is now archived and is closed to further replies.