Probleme mit Perl Skript
Alexander Rebholz
- cgi
Hallo!
Nachdem nun das Bilder Problem gelöst ist (siehe weiterer Thread von mir) wird nun immer das Bild nopic.jpg angezeigt. Das seltsame ist, wenn ich die if-Abfrage weglasse sowie den nopic.jpg Teil, werden alle Bilder korrekt angezeigt. Irgendwie liegt es wohl an dem "if (-e $pic)". Ab es existiert ja so ein Bild?
Auszug Quelltext:
chomp($_);
($nummer, $name, $preis) = split(/&/, $_);
$pic = '/bilder/' . $nummer . '.jpg';
if (-e $pic)
{
print '<tr><td valign="middle">';
print '<IMG SRC="/bilder/' . $nummer .'.jpg"></td>';
print '<td valign="top">';
}
else
{
print '<tr><td valign="middle">';
print '<IMG SRC="/bilder/nopic.jpg"></td>';
print '<td valign="top">';
}
TIA, Alex
Hallo Alex,
»» $pic = '/bilder/' . $nummer . '.jpg';
Bist du dir bei der Pfadangabe sicher ?
Die Bilder hast du sicherlich nicht in einem Unterverzeichnis in deinem CGI-BIN.
mfg,
Johannes
Hallo Alexander,
»» $pic = '/bilder/' . $nummer . '.jpg';
^.........?
IMHO musst Du für den Test mit -e den absoluten Dateipfad auf dem Server angegeben, oder nur den Bildnamen, falls das Bild im selben Verzeichnis wie das Skript liegt. Zumindest sollte es so funktionieren. Ob Du einen relativen Dateipfad zu Deinem Bild verwenden kannst, kannst must Du mal probieren. Eine absolute Referenzierung vom wwwroot funktioniert afaik nicht, da Perl auf das Dateisystem des Betriebsystems zugreift, und nicht weis, wo /bilder liegt (für Perl dürfte das im Stammverzeichnis eines **n*x-Servers liegen :-)
Gruß AlexBausW
Hallo Mich nochmal,
Ein relativer Pfad vom Skript aus sollte natürlich auch auf Unix/Linux gehen *eg*, unter Windoze funktioniert es ja schließlich auch. ;-)
Das kommt davon, wenn man sich mit Unix/Linux so gut wie gar nicht auskennt (so wie ich *binaberimmeramlernen*), dann geht man (ich) erstmal davon aus, das gar nix geht, und ist für alles dankbar ;-)
Gruß AlexBausW