Bei einem anderen Uploadscript (s.u.) kommt dieser Fehler :
Software error:
CGI open of tmpfile: No such file or directory
Das Script: http://home.kamp.net/home/farid.hajji/bv2/ew/cgi-upload.pl.html
Tja, may the source be with you.
CGI.pm erwartet (unter Windows), daß das Verzeichnis C:\TEMP existiert. Das ist blöderweise hardcoded:
unless ($TMPDIRECTORY) {
@TEMP=("${SL}usr${SL}tmp","${SL}var${SL}tmp",
"C:${SL}temp","${SL}tmp","${SL}temp",
"${vol}${SL}Temporary Items",
"${SL}WWW_ROOT");
unshift(@TEMP,$ENV{'TMPDIR'}) if exists $ENV{'TMPDIR'};
#
# unshift(@TEMP,(getpwuid($<))[7].'/tmp') if $CGI::OS eq 'UNIX';
# Rob: getpwuid() is unfortunately UNIX specific. On brain dead OS'es this
# : can generate a 'getpwuid() not implemented' exception, even though
# : it's never called. Found under DOS/Win with the DJGPP perl port.
# : Refer to getpwuid() only at run-time if we're fortunate and have UNIX.
unshift(@TEMP,(eval {(getpwuid($<))[7]}).'/tmp') if $CGI::OS eq 'UNIX';
foreach (@TEMP) {
do {$TMPDIRECTORY = $_; last} if -d $_ && -w _;
}
}
$TMPDIRECTORY = $MAC ? "" : "." unless $TMPDIRECTORY;
${SL} wird durch den OS-spezifischen Backslash ersetzt.
Wahlweise kannst Du auch im Environment des Webservers (bzw. global für die gesamte Maschine) die Variable TMPDIR auf dein Temp-Verzeichnis setzen (oder noch einige andere Verrenkungen machen), aber C:\TEMP ist schneller angelegt.
Alexander