Hola que tal!!
Tengo un problema con un cgi el cual es el siguiente:
este es mi formulario:
<HTML>
<HEAD>
</HEAD>
<BODY>
<form action="cgi-bin/browser1.cgi" method="post">
Enviar archivo: <INPUT TYPE="file" NAME="userfile" SIZE=50>
<input type="submit" value="Enviar">
</FORM>
</BODY>
</HTML>
este es mi CGI:
#!d:/server/perl/bin/perl.exe -w
print "Content-type:text/html\n\n";
if ($ENV{'REQUEST_METHOD'} eq 'POST') {
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
} else {
$buffer = $ENV{'QUERY_STRING'};
}
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$FORM{$name} = $value;
}
print "<html><head><title>Form Output</title></head><body>";
print "<h2>Resultados de la forma</h2>\n";
print "$FORM{'userfile'}";
open(ARCHIVO, "$FORM{'userfile'}") || die "No se pudo abrir archivo $FORM{'userfile'}";
while(<ARCHIVO>)
{
print "linea: <BR>";
}
close(ARCHIVO);
print "</body></html>";
El problema es que no puedo abrir los archivos, siempre me manda el error "No se pudo abrir archivo". Solo me permite abrir los archivos que estan en el mismo directorio en donde esta el CGI, y si hago esto en una maquina cliente no me abre los archivos.
espero que me puedan ayudar...
gracias!!