• Publicidad

Carga fichero al servidor

Así que programas sin strict y las expresiones regulares son otro modo de hablar. Aquí encontrarás respuestas de nivel avanzado, no recomendable para los débiles de corazón.

Carga fichero al servidor

Notapor Naika » 2009-01-15 08:03 @377

Hola a todos,

Tengo una aplicación web, donde el usuario quiere cargar los datos de un fichero txt y se guardan en una bd.

La carga del fichero en el servidor se hace de manera correcta si el navegador es Mozilla en cambio si el navegador es el Explorer da el siguiente error:

Código: Seleccionar todo
Can't use string ("fichero.txt") as a symbol ref while "strict refs" in use at c:\www\upload.pl line XXX.


La línea de código donde se supone que esta el error es esta:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
   open (OUTFILE, ">$dir/$nombre_en_servidor") || die "No se puedo crear el archivo";
    binmode(OUTFILE); #Para no tener problemas en Windows
    #Transferimos byte por byte el archivo    
-->ESTA ES LA LINEA   while (my $bytesread = read($nombre_en_servidor, my $buffer,1024)) {
      print OUTFILE $buffer;
    }        
    #Cerramos el archivo creado
    close (OUTFILE);
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Debe tener algún problema al indicarle el nombre del fichero que se quiere cargar en el servidor ($nombre_en_servidor), le he puesto el nombre a pelo, pero me ha dado el mismo error.

Si alguien tiene alguna idea o orientación de por dónde puede venir el error.

Muchas gracias
Naika
Perlero nuevo
Perlero nuevo
 
Mensajes: 8
Registrado: 2008-11-09 12:56 @581

Publicidad

Notapor explorer » 2009-01-15 08:21 @389

Según el manual del CGI, debes poner el bloque de lectura en un nuevo contexto, con el "no strict" puesto.

Y otra forma, si estás usando la versión igual o superior a la 2.47, es usar la función upload(), que te devuelve el filehandle a usar.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$fh = upload('uploaded_file');
while (<$fh>) {
    print;
}
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Avanzado

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 7 invitados