IPB

Willkommen, Gast ( Anmelden | Registrierung )

5 Seiten V  < 1 2 3 4 > »   
Reply to this topicStart new topic
> Unbenutzte CSS Klassen finden ..., ... oder vielleicht sogar Bilder?
i.b.g
Beitrag 19.02.2005 - 17:19
Beitrag #11


Weiss zuviel!!
Gruppensymbol

Gruppe: Mods
Beiträge: 668
Mitglied seit: 19.04.2002
Wohnort: Grimmen
Mitglieds-Nr.: 385



Hallo Conny,

nun, da gibt es nichts zu lachen. Es ist einfach nur kein CGI-Script. Es kann folglich auch nicht über einen Browser oder ähnliches, was das HTTP-Protokoll verwendet, aufgerufen werde. Deswegen bekommst Du lediglich den Quelltext angezeigt.

Im vorliegenden Zustand ist es nur für den lokalen Betrieb gedacht.

Am besten Du legst ein Verzeichnis an; z.B. c:\programme\perlen
und da kopierst Du das script hinein; z.B. als pic_find.pl
dann legst Du eine kleine pic_find.bat mit dem Inhalt an:

QUELLTEXT
@echo off
c:\perl\bin\perl.exe c:\programme\perlen\pic_find.pl > c:\programme\perlen\bilder_not_used.txt
notepad c:\programme\perlen\bilder_not_used.txt


Dann verlinkst Du diese Batch auf den Desktop und kannst das Ganze mit Doppelklick starten. Das Scanergebnis geht in eine Datei und wird von Notpad angezeigt.
Go to the top of the page
 
+Quote Post
Conny
Beitrag 19.02.2005 - 17:27
Beitrag #12


Kommt Zeit, kommt Rat, kommt Conrad!
Gruppensymbol

Gruppe: Mods
Beiträge: 1.169
Mitglied seit: 21.11.2001
Wohnort: Altenkirchen, Westerwald
Mitglieds-Nr.: 42



Hi Ingo,
Klar ist es kein CGI-Script, aber der Server sieht vor, daß auch Perl-Scripte in den cgi-Ordner abgelegt werden müßen.
Das Perl-Script für den Counter liegt ja auch da, also habe ich mir gedacht: "schau-mir-mal".

Schade eigentlich, daß das nicht geht....

Das mit der bat-Datei werde ich wohl hinbekommen! Danke biggrin.gif

cu
Conny
Go to the top of the page
 
+Quote Post
Conny
Beitrag 19.02.2005 - 17:47
Beitrag #13


Kommt Zeit, kommt Rat, kommt Conrad!
Gruppensymbol

Gruppe: Mods
Beiträge: 1.169
Mitglied seit: 21.11.2001
Wohnort: Altenkirchen, Westerwald
Mitglieds-Nr.: 42



So, da bin ich wieder.
*.bat gemacht, geschrieben, gibt aber folgende Fehlermeldung:
QUELLTEXT
Can't locate strickt.pm in @INC <@INC contains:  .> at
D:Website\cgi-bin\nup.pl line 4.
BEGIN failed--compilation aborted at D:Website\cgi-bin\nup.pl line 4.


Zeile 4 in der Perl-Datei ist bei mir: use strict;

Mir scheint, irgendwas wird nicht gefunden?

cu
Conny
Go to the top of the page
 
+Quote Post
i.b.g
Beitrag 19.02.2005 - 19:13
Beitrag #14


Weiss zuviel!!
Gruppensymbol

Gruppe: Mods
Beiträge: 668
Mitglied seit: 19.04.2002
Wohnort: Grimmen
Mitglieds-Nr.: 385



Hallo,

nun das ist mir jetzt vollkommen unverständlich. Die Fehlermeldung sagt, dass das Modul stickt.pm nicht gefunden wird, das hab ich aber nicht benutzt, weil es das gar nicht gibt.

Also mach wir das folgende:

Du nimmst den foldenden Code und ersetzt damit den in Deiner Perldatei. Dann passt Du noch die beiden Verzeichnisse an und veruchst es noch einmal.

QUELLTEXT
#!c:/perl/bin/perl
# finde nicht verwendete bilder

use strict;
use warnings;
use File::Find;

my $home;
my $picture_dir;
my $picture;
my @picture_files;
my @html_files;
my $html;
my $scan_result;
my $not_used=0;

# hier das standardverzeichnis eintragen, aus dem die dateien gescannt werden sollen
$home = 'c:/home/ingo/html/interpro_neu';
# hier das standardverzeichnis der bilder eintragen
$picture_dir = 'c:/home/ingo/html/interpro_neu';

if ($ARGV[0]) {$home = $ARGV[0];}
$home =~ s/\\/\//g;
if ($ARGV[1]) {$picture_dir = $ARGV[1];} else {$picture_dir = $home;}
$picture_dir =~ s/\\/\//g;

# zu scannende dateien suchen
find(\&find_html, $home);
# bilder suchen
find(\&find_picture, $picture_dir);

print 1+$#html_files." HTML- und CSS-Dateien in $home gefunden.\n";
print 1+$#picture_files." Bilder in $picture_dir gefunden!\nDavon werden nicht verwendet:\n";

# zu scannende dateien sortieren
@html_files = sort {uc($a) cmp uc($b)} @html_files;
# bilder sortieren
@picture_files = sort {uc($a) cmp uc($b)} @picture_files;

foreach $picture (@picture_files) {
     foreach $html (@html_files) {
           #hier wird der scanner gerufen
           $scan_result = &scan($html, $picture);
           # wenn ein treffer gefunden, dann naechstes bild hernehmen
           if ($scan_result) {
                 last;
           }
     }
     # wenn kein treffer, ausgeben und zählen
     unless ($scan_result) {
           print "$picture \n";
           $not_used ++;
     }
}

print "Insgesamt werden $not_used Bilder nicht verwendet!\n";


# bilder finder ---------------------------------------------------------------
sub find_picture {
     my $akt_file = $File::Find::name;
     push @picture_files,$akt_file if ($akt_file =~ /\.(jpg|gif|png)$/i);
}
# zu scannende dateien finden -------------------------------------------------
sub find_html {
     my $akt_file = $File::Find::name;
     push @html_files,$akt_file if ($akt_file =~ /\.(.?htm.?|css)$/i);
}
# löschen der gemeinsamen teile in den pfadangaben ----------------------------
sub del_common {
     my ($html, $picture_dir) = @_;
     my @html_dir;
     @html_dir = split('/', $html);
     foreach (@html_dir) {
           $picture_dir =~ s/^$_\///i;
     }
     return $picture_dir;
}
# aktuelle datei scannen ------------------------------------------------------
sub scan {
     my ($html,$picture)=@_;
     my $html_content;
     my $found;
     undef $/;
     $picture = del_common($html, $picture);
     open (IN,"< $html");
     $html_content=<IN>;
     close IN;
     $found = $html_content =~ /$picture/;
     return $found;
}


Das ist bei mir ohne Fehler durchgelaufen und arbeitet jetzt richtig gut.

Es ist jetzt auch möglich, dass man der Batch zwei Parameter übergibt:

pic_find.bat c:\home\html\interpro\schulen c:\home\html\interpro\bilder

Dafür muss die Batch noch so geändert werden:
QUELLTEXT
@echo off
c:\perl\bin\perl.exe c:\programme\perlen\pic_find.pl %1 %2 > c:\programme\perlen\bilder_not_used.txt
notepad c:\programme\perlen\bilder_not_used.txt


Wenn man den zweiten Parameter weglässt geht das Script davon aus, dass er wie der erste heißen soll. Wird nichts übergeben, werden die Standardverzeichnisse genommen wie sie im Script angegeben sind. (siehe Kommentare)

Gibt es eigentlich eine Möglichlkeit, dass ich das Script hier irgendwie hochladen kann, damit ich nicht immer alles posten muss?

Ich mach aber erst mal Schluss für heute. Es gibt einen guten Südtiroler Lagrein (Rotwein) und eine lecker "Weib" die auf mich warten wink.gif.

Der Beitrag wurde von i.b.g bearbeitet: 19.02.2005 - 19:16
Go to the top of the page
 
+Quote Post
i.b.g
Beitrag 20.02.2005 - 10:04
Beitrag #15


Weiss zuviel!!
Gruppensymbol

Gruppe: Mods
Beiträge: 668
Mitglied seit: 19.04.2002
Wohnort: Grimmen
Mitglieds-Nr.: 385



Hallo,

wenn man einen Link auf eine Batch-Datei angelegt hat, dann kann man einige Einstellungen in den Eigenschaften (Rechtsklick auf die *.lnk-Datei) vornehmen, die das Leben angenehmer machen.

Für den hier diskutierten Fall könnte das sein:

Registerkarte Programm
1. in der Befehlszeile an das Ende ein Leerzeichen+? - Wirkung: man bekommt beim Start der *.lnk ein kleines Fenster wo man die Parameter für die Batch eingeben kann.

2. Ausführen wird auf "Minimiert" gesetzt - Wirkung: es geht kein DOS-Fenster auf sondern nur das Feld in der Taskleiste.

3. Ein Häkchen bei Beenden beim Schließen - Wirkung: das DOS-Fenster wird automatisch geschlossen, wenn der letzte Befehl der Batch abgearbeitet ist.

Wer dann noch will, kann der *.lnk ein anderes Symbol zuordenen.

Sollte ich jetzt Trivialitäten genannt haben, so bitte ich um Entschuldigung. blush.gif
Go to the top of the page
 
+Quote Post
Conny
Beitrag 20.02.2005 - 10:59
Beitrag #16


Kommt Zeit, kommt Rat, kommt Conrad!
Gruppensymbol

Gruppe: Mods
Beiträge: 1.169
Mitglied seit: 21.11.2001
Wohnort: Altenkirchen, Westerwald
Mitglieds-Nr.: 42



Moin Ingo,

ohne Dich jetzt -am Sonntagmorgen- auf die nerven gehen zu wollen, aber, auch nach einsetzen des letzten Codes bleibt es exakt bei der gleichen Fehlermeldung von weiter oben.

Es *stolpert* über die aufforderung: 'use strickt' und meldet:
Can't locate strickt.pm in @INC <@INC contains: .> at
D:Website\cgi-bin\nup.pl line 4.


Warum auch immer....

cu
Conny
Go to the top of the page
 
+Quote Post
i.b.g
Beitrag 20.02.2005 - 11:24
Beitrag #17


Weiss zuviel!!
Gruppensymbol

Gruppe: Mods
Beiträge: 668
Mitglied seit: 19.04.2002
Wohnort: Grimmen
Mitglieds-Nr.: 385



Hallo,
ZITAT(Conny @ 20.02.2005 - 10:59)
ohne Dich jetzt -am Sonntagmorgen- auf die nerven gehen zu wollen ...


Ach wo, das ist schon in Ordnung, denn es muss ja funktionieren. Ich hab meine Datei mal >> HIER << als Zip abgelegt. Du kannst Sie dort abholen.

Sollte es dann immer noch nicht laufen, dann schreib einfach mal ein # vor die Zeile, denn eigentlich wird Sie nur benötigt, um bei der Programmierung Larry's Konventionen einzuhalten.

Das muss doch zu packen sein!
Go to the top of the page
 
+Quote Post
Conny
Beitrag 20.02.2005 - 13:26
Beitrag #18


Kommt Zeit, kommt Rat, kommt Conrad!
Gruppensymbol

Gruppe: Mods
Beiträge: 1.169
Mitglied seit: 21.11.2001
Wohnort: Altenkirchen, Westerwald
Mitglieds-Nr.: 42



Hi Ingo,
ZITAT(i.b.g @ 20.02.2005 - 11:24)
....Sollte es dann immer noch nicht laufen, dann schreib einfach mal ein # vor die Zeile...


Die Idee (es aus zu kommentieren) hatte ich auch schon, hat leider nichts gebracht!
Denn, die Fehlermeldung wiederholt sich dann einfach mit der nächsten Zeile: use warnings.

Inzwischen glaube ich, daß es an der perl.exe liegt!
(das ist die exe die bei xampp-light dabei war)

Könntest Du mir nicht mal Deine perl.exe zukommen lassen?
Damit wäre es unter Umständen schon aus der Welt!

cu
Conny
Go to the top of the page
 
+Quote Post
i.b.g
Beitrag 20.02.2005 - 15:54
Beitrag #19


Weiss zuviel!!
Gruppensymbol

Gruppe: Mods
Beiträge: 668
Mitglied seit: 19.04.2002
Wohnort: Grimmen
Mitglieds-Nr.: 385



Hallo Conny,

das ist ja wie verhext. Ob das an der perl.exe liegt, vermag ich nicht zu sagen. Ich glaub es aber nicht. Ich hatte auch gehofft Andreas meldet sich noch einmal.
Zunächst kannst Du die Zeile

use warnings;

auch auskommentieren. Nur die

use File::Find;

ist dringend notwendig, weil das Modul die Dateibäume durchsucht. Starten und "gucken wat er macht".

Geht es wieder schief, dann solltest Du mal folgendes auf der Kommandozeile eingeben:

c:\> perl -V > perlvers.txt

Den Inhalt der perlvers.txt würde ich gern mal sehen; es könnte nämlich sein, dass Perl gar nicht richtig installiert ist, dann hilft die perl. exe auch nichts. Besonders interessant ist der Abschnitt am Ende:

QUELLTEXT
Characteristics of this binary (from libperl):
 Compile-time options: MULTIPLICITY USE_ITHREADS PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS
 Locally applied patches:
     ActivePerl Build 635
 Built under MSWin32
 Compiled at Feb  4 2003 15:34:21
 %ENV:
   PERL="C:\PERL\bin"
 @INC:
   C:/Perl/lib
   C:/Perl/site/lib
   .
Go to the top of the page
 
+Quote Post
Conny
Beitrag 20.02.2005 - 17:29
Beitrag #20


Kommt Zeit, kommt Rat, kommt Conrad!
Gruppensymbol

Gruppe: Mods
Beiträge: 1.169
Mitglied seit: 21.11.2001
Wohnort: Altenkirchen, Westerwald
Mitglieds-Nr.: 42



Hi Ingo,
langsam kommen wir die Sache näher.
So wie es aussieht ist Perl tatsächlich nicht, oder nicht richtig installiert!

Es gibt zwar eine Perl.exe bei mir auf dem Rechner, allerdings nicht wo man ihm vermuten wurde (C:\perl\bin) sondern in ein Apache-Ordner auf D: (Dort wo Apache auch instaliert ist.)

Neben der Perl.exe gibt es nur noch die perl58.dll (ich nehme mal an, Version 5.8)
und sonst nichts!

Auf der Kommandozeile: D:\Apache\perl\bin\perl -V > perlvers.txt eingegeben gibt wieder eine Fehlermeldung: 'Kann Config.pm nicht finden'.
Die txt wird zwar erstellt, bleibt aber leer.

Fazit: Keine oder fehlerhafte installation!

Frage: Wie und wo bekomme ich Perl heruntergeleden und richtig installiert?

cu
Conny
Go to the top of the page
 
+Quote Post
Google Bot
Beitrag
Beitrag #


Google Ads









Go to the top of the page
 
Quote Post

5 Seiten V  < 1 2 3 4 > » 
Reply to this topicStart new topic
2 Besucher lesen dieses Thema (Gäste: 2 | Anonyme Besucher: 0)
0 Mitglieder:

 



RSS Vereinfachte Darstellung Aktuelles Datum: 28.03.2024 - 22:48

taschenkalender
expertise-panel IPS Driver Error

IPS Driver Error

There appears to be an error with the database.
You can try to refresh the page by clicking here