Thread Datei mit unbekannter Extension suchen...: ...und mit MIME:Lite verschicken (18 answers)
Opened by cbxk1xg at 2004-06-06 23:07

coax
 2004-06-07 16:28
#2775 #2775
User since
2003-08-11
457 Artikel
BenutzerIn
[default_avatar]
[quote=cbxk1xg,07.06.2004, 13:51]Irgendwie verstehe ich nicht, wie das genau funktioniert. Wo ist den der Bezug zur SessionID? Müsste man nicht vergleichen, ob die SessionID mit einem Dateinamen matcht?[/quote]
Du hast dir den Code nicht genau angesehen.

Code: (dl )
1
2
3
4
foreach my $filename (@files) {                # $filename = '45646.txt';
     my($base) = $filename =~ /(.+?)\..+?$/;   # $base = 45646;
     $hash{$base} = $filename;                 # $hash{'45646'} = '45646.txt';
}


Hier wird nichts weiter gemacht auszer, dass:
Fuer jeden Dateinamen der Teil vor der Dateierweiterung in $base gesichert wird.
$base dann als Schluessel fuer den Hash %hash dient und als Wert den originale Dateiname (mit Extension) zugewiesen bekomment.
So dass, $hash{$SessionID} dann auf den vollstaendigen Dateinamen passend zur SessionID zeigt.
Ich hab mal neben meinen Code als Kommentar, die eventuellen Werte der Variablen angegeben damit sich das leichter nachvollziehen laesst wie's funktioniert.


In deinen Code koennte das dann so aussehen:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
my %hash;

foreach my $filename (@files)
{
my($base) = $filename =~ /(.+?)\..+?$/;
$hash{$base} = $filename;
}

my $MailAttachment = "$TEMP_DIR/" . $hash{$SessionID};

if (!-e $MailAttachment) {&program_error("Keine Datei vorhanden. $!");}


Quote
Ich habe mal versucht deinen Vorschlag einzubauen und die Eegbnisse testweise auszugeben. Bei mir gibt das jedenfalls einen Error 500.

Logfiles-Lesen gibt da mehr Aufschluss ;)
,,Das perlt aber heute wieder...'' -- Dittsche

View full thread Datei mit unbekannter Extension suchen...: ...und mit MIME:Lite verschicken