Klaus Mock: Uploadscript zerstört Grafiken / + IE speichert nicht mal

Beitrag lesen

Hallo,

Das hab ich nie genau verstanden. Was bedeutet 'das aktuelle Verzeichnis ist' ? Das Script ist doch immer im gleichen Verzeichnis, deswegen verstehe ich nicht, was da eigentlich gemeint ist.

Das aktuelle Verzeichnis ist jenes Verzeichnis in dem das Script ausgeführt wird. Wenn Du z.B. open(IN,'datei') schreibst, wobei Du keine Pfadangabe machst, dann probiert Perl in diesem, hmm, Arbeitsverzeichnis die Datei zu öffnen. Dieses Verzeichnis muß nicht automatisch das sein, in dem das Script abgelegt ist. Es kann durchaus, je nach Aufruf bzw. Serverkonfiguration auch irgendwo anders im Dateisystem sein. Und weil eben nicht sicher ist, wie das arbeitsverzeichnis gerade eingestellt ist, kannst Du Dich auch nicht auf irgend etwas verlassen, auch wenn es sehr oft mit dem Scriptverzeichnis zusammen fällt.

Ja, ich vergebe immer, so weit es möglich ist pro open() verschiedene Fehlermeldungen, da ich sonst bei riesen Scripts den fehlerhaften open() nicht mehr finde. (Hat mir wirklich schon einige Male geholfen)

Ja, natürlich, je besser die Fehlerbehandlung ist, desto schneller findest Du auch den Fehler. Nur meinte ich, daß Du Deine Fehlermeldungen so gestalten solltest, daß zu erstens sie auch als die Deinigen erkennst, und zweitens auch sofort siehst, in welchem Script und wo dort sie erzeugt wurde.
Meldungen wie "Das ging aber schief" helfen eigentlich nicht wirklich weiter. Meldungen wie "Das Oeffnen der neuen Flyerdatei $filename zum Schreiben hat fehlgeschlagen:Grund $!" oder "Fehler bei open($filename) in saveflyer: $!" oder so, sind da schon wesentlcih aussagekräftiger.
Grundsätzlich sollte die Fehlermeldung also:

  • Eine Kennung, daß Du sie von anderen Fehlermeldungen unterscheiden kannst
  • die Systemzeit (wird meist automatisch generiert)
  • den Scriptnamen (wird meist automatisch generiert)
  • die Stelle im Script
  • die Funktion
  • die Werte der verwendeten Variablen

beinhalten.

Grüße
  Klaus