Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 
Índice general » Mundo Perl » Web » Problema con CGI Responder al tema
Nuevo tema


Página 1 de 1  [ 4 mensajes ] 
 
Nota 2006-01-17 15:10 @674

Perlero Nuevo
Registrado: 2006-01-17 14:57 @664
Ubicación: México
Mensajes: 2
Problema con CGI
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!!


Nota 2006-01-17 15:24 @683
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10270
Efectivamente... el CGI se ejecuta SÓLO en el servidor... no en el cliente...


Nota 2006-01-17 16:05 @712

Perlero Nuevo
Registrado: 2006-01-17 14:57 @664
Ubicación: México
Mensajes: 2
Si claro, mi cgi esta en mi servidor.
cuando estoy en un cliente le digo en un navegador
http://server/browser.html para que me carge el formulario
y este le mande la informacion al CGI.

Lo que no entiendo es por que solo abre algunos archivos

Ademas se puede especificar la extension de los archivos,
es decir que solo me muestre solo los archivos *.aln

Gracias!!!


Nota 2006-01-17 16:20 @722
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10270
Si sólo te abre algunos, comprueba los permisos de lectura de esos ficheros. Y quizás tengas que agregar cerca del open la ruta completa al directorio raíz de los ficheros.


Responder al tema  [ 4 mensajes ] 

Reglas del Foro
No puedes abrir nuevos temas en este Foro
No puedes responder a temas en este Foro
No puedes editar tus mensajes en este Foro
No puedes borrar tus mensajes en este Foro
No puedes enviar adjuntos en este Foro

Publicidad

Socializa

Síguenos por Twitter

Suscríbete GRATUITAMENTE al Boletín de Perl en Español

Saltar a:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traducción al español por Huan Manwë para phpbb-es.com
phpBB SEO