SprintDevelop.com - Diseño y desarrollo web - Diseño, desarrollo web,Aplicaciones Móviles, TabletasSprintDevelop.com - Diseño y desarrollo web
Mostrando Codigo - Perl & Cgi
Code

Perl & Cgi - Ejemplo de hacer upload al servidor

Códigos Perl & Cgi

Este sencillo ejemplo muestra como subir archivos al servidor utilizando perl . La primera parte del codigo o formulario debe guardarse como una pagina normal. ej. formulario.html y la segunda parte del codigo como upload.pl
Visitas: 29,559 - 19/10/2003 21:30:34
CODIGO SIN DEMOSTRACIONNO CONTIENE ARCHIVO DESCARGABLEComentario
CODIGO
Codigo probado en ChromeCodigo probado en Mozilla FirefoxCodigo probado en Internet Explorer 7+Codigo probado en OperaCodigo probado en Safari


// Codigo ofrecido por Tutores.org

  1. <html>
  2. <head><title>Subir archivos al servidor</title></head>
  3. <body>
  4. <form action="upload.pl" enctype="multipart/form-data">
  5. <input name="archivo" type="file" id="archivo">
  6. <input type="submit" value="Subir archivo">
  7. </form>
  8. </body>
  9. </html>
  10. ...... archivo: upload.pl........
  11.  
  12. #!/usr/bin/perl
  13. use CGI qw(:standard);
  14. print header;
  15. $in_file=param('archivo');
  16. $data="";
  17. while(<$in_file>){
  18. $data.=$_;
  19. }



ENLACE AL CODIGO
Si quieres enlazar desde tu pagina a este codigo
<!-- Inicio enlace Tutores.org -->
<a title="Tutores.org - Ejemplo de hacer upload al servidor" href="http://www.tutores.org/codigo/766/" target="_blank">Ejemplo de hacer upload al servidor</a>
<!-- Final enlace Tutores.org -->
COMENTARIOS
Comentario usuario
02/10/2004 6.25.18
2 5
Hola a todos:
Les agradecería me informaran con más detalles la implementación de Upload

1.- donde se coloca el upload.pl
2.- donde llega el archivo que se sube

Gracias a todos
Comentario usuario
19/04/2003
2 5
Hola giovaweb
el archivo debes insertarlo dentro de la carpeta cgi-bin de tu servidor.
El archivo subirá a esta misma carpeta.
saludos
Comentario usuario
13-12-2007 01:46:29
4 5
Hola te consulto lo siguiente, se puede dar otra dirección para subir los archivos, y como puedo localizarlos después en mi web.

Por ejemplo un usuario x sube un archivo (una imagen.jpg) pero quiero que ese archivo se aloje en una determinada carpeta y que luego se pueda ver en mi web y que esté disponible para bajarlo...
Eso se puede lograr

Muchas gracias por tu información..
Saludos Karina
Comentario usuario
15-11-2008 22:35:16
1 5
disculpa este codigo

#!/usr/bin/perl
use CGI qw(:standard);
print header;
$in_file=param('archivo');
$data="";
while(<$in_file>){
$data.=$_;
}

se pone en el bloc de notas y se gurda como pl.
(si es asi, por que al guardarlo como pl. lo guarda como nombre.pl.txt?)
yel otro como nombre.html

despues tengo que crear una carpeta en mi servidor llamada cgi-bin
(o esta carpeta donde se encuentra?)
donde iran los dos archivos o solo uno?
Comentario usuario
15-11-2008 22:35:16
1 5
mira esto es lo que pasa

http://ithancraftp.iespana.es/cgi-bin/formulario.html

y fuera del cgi esto es lo que pasa

http://ithancraftp.iespana.es/formulario.html

espero puedas ayudarme
Comentario usuario
19/04/2003
2 5
Hola emmanuel
Veo que estas usando el servidor de Iespana, si no me equivoco en su version gratuita.
La version gratuita de iespana solo soporta .php y Mysql y no cgi o perl que es el lenguaje de este codigo.
saludos
Comentario usuario
15-11-2008 22:35:16
1 5
:(

pero....?

si era asi?

y si no.
puedes ayudarme con esto del php?
Comentario usuario
19/04/2003
5 5
Hola emmanuel
Hemos insertado un nuevo codigo que creemos que puede servirte
Subir archivo o upload al servidor con php
saludos
Comentario usuario
09-11-2007 13:42:18
4 5
http://www.comidasadelgazantes.com/form.html

He instalado el formulario sin problema.

He instalado el upload.pl en cgi-bin

No funciona!

Que hago mal?

Michelle
Comentario usuario
suglus
1 5
Checkea este codigo que hace mejor lo que quieres
a mi me funciono en acuatoria.com
http://perlenespanol.baboonsoftware.com/foro/about645.html
Comentario usuario
ITZEL
3 5
se me dificulta agregra codigo html para un servidor cgi
Comentario usuario
Borichito
2 5
bueno lo e hecho todo con todo el codigo que eh podido pero no puedo hacer valer el formulario yo creo que es cuiestion del servidor iespana con todo aqui dejo mis datos

html
<table width="99%" border="0px" cellpadding="0px" cellspacing="0px">
<FORM action="borichito.iespana.es/index.php" method="get">

<tr>
<td class="contacto1">Nombre y apellidos:*</td>
<td class="contacto"><input name="nombre" type="text " size="32"></td>
</tr>
<tr>
<td class="contacto1">Nombre de empresa :</td>
<td class="contacto" ><INPUT TYPE="text" NAME="empresa" SIZE="32"></td>
</tr>
<tr>
<td class="contacto1">Población*:</td>
<td class="contacto"><INPUT TYPE="text" NAME="poblacion"SIZE="32"></td>
</tr>
<tr>
<td class="contacto1">Profesión:</td>
<td class="contacto"><INPUT TYPE="text" NAME="profesion" SIZE="32"></td>
</tr>
<tr>
<td class="contacto1">Teléfono fijo:</td>
<td class="contacto"><INPUT NAME="telefonof" TYPE="text" SIZE="12" MAXLENGTH="12"></td>
</tr>
<tr>
<td class="contacto1">Teléfono móvil: *</td>
<td class="contacto">
<INPUT TYPE="text" NAME="telefonomovil" SIZE="12" MAXLENGTH="12"></td>
</tr>
<tr>
<td class="contacto1">e-mail: *</td>
<td class="contacto"><INPUT TYPE="text" NAME="email" SIZE="32"></td>
</tr>
<tr>
<td class="contacto1">Realice su consulta: *</td>
<td class="contacto"><TEXTAREA NAME="texto" ROWS="5"COLS="25"></TEXTAREA></td>
</tr>
<tr>
<td class="contacto1"><INPUT TYPE="submit" VALUE= "Enviar "></td>
<td class="contacto">* Campos obligatorios</td>
</tr>
</FORM>
</table>
y php


</head>

<body>
<?
/* aqui se incializan variables de PHP */
if (phpversion() >= "4.2.0") {
if ( ini_get('register_globals') != 1 ) {
$supers = array('_REQUEST',
'_ENV',
'_SERVER',
'_POST',
'_GET',
'_COOKIE',
'_SESSION',
'_FILES',
'_GLO BALS' );



foreach( $supers as $__s) {
if ( (isset($$__s) == true) && (is_array( $$__s
) == true) ) extract( $$__s, EXTR_OVERWRITE );
}
unset($supers);
}
} else {
if ( ini_get('register_globals') != 1 ) {

$supers = array('HTTP_POST_VARS',
'HTTP_GET_VARS',
'HTTP_COOKIE_VARS',
'GLOBALS',
'HTTP_SESSION_VARS',
'H TTP_SERVER_VARS',
'HTTP_ENV_VARS'
);
$_GET['nombre']=$nombre;
$_GET['edad']=$edad;
foreach( $supers as $__s) {
if ( (isset($$__s) == true) && (is_array( $$__s
) == true) ) extract( $$__s, EXTR_OVERWRITE );
}
unset($supers);
}
}
/* ------------------------------------------------------------------ */
/* DE AQUI EN ADELANTE PUEDES EDITAR EL ARCHIVO */
/* ------------------------------------------------------------------ */
/* define cual va a ser la hoja que se abrirá en caso de error*/
$login_page = error.html";
/* reclama que estén rellenos los campos obligatorios del formulario */
if($email=="")
{include($login_page);
exit();
}
if($nombre=="")
{include($login_page);
exi t();
}
if($poblacion=="")
{include($login_page);
exit();
}
if($texto=="")
{include($login_pag e);
exit();
}
/* ------------------------------------------------------------------ */
/* aquí se especifica la pagina de respuesta en caso de envío exitoso */
$respuesta="correcto.html";


/* AQUÍ ESPECIFICAS EL CORREO AL CUAL SE ENVÍAN LOS DATOS */
$para ="godboris92@hotmail.com ";

/* AQUI ESPECIFICAS EL SUJETO DEL EMAIL */
$sujeto = "Formulario de informacion";

/* aquí se construye el encabezado del correo*/
$encabezado = "From: $nombre <$email>";
$encabezado .= "Reply-To: $email";
$encabezado .= "X-Mailer: PHP/" . phpversion();

/* con esto se captura la IP del que envío el mensaje */
$ip=$REMOTE_ADDR;

/* las siguientes líneas arman el mensaje */
$mensaje .= "Nombre = $nombre";
$mensaje .= "Empresa = $empresa";
$mensaje .= "Poblacion = $poblacion";
$mensaje .= "Profesion= $profesion";
$mensaje .= "Telefono fijo = $telefonof";
$mensaje .= "Telefono movil = $telefonomovil";
$mensaje .= "email = $email";
$mensaje .= "Comentario = $texto";
$mensaje .= "SU DIRECCION IP = $ip";

/* aqui se intenta enviar el correo, si no se
tiene éxito se da un mensaje de error */
if(!mail($para, $sujeto, $mensaje, $encabezado))
{
echo "<h1>No se pudo enviar el Mensaje</h1>";
exit();
}
else
{
/* aqui redireccionamos a la pagina de respuesta */
echo "<meta HTTP-EQUIV='refresh' content='1;url=$respuesta'>";
}

?>
</body>
</html>
pero no me funciona acolen dando la solución

godboris92@hotmail.com
Comentario usuario
08/11/2004 18.01.55
3 5
hola bueno pues mi duda es que quiro subir una pagina que he echo de html la kieor subir a la web peor gratis bueno espeor me puedan ayudar gracias
INSERTAR COMENTARIO

Usuario:
Email:
Comentario:
Codigo Seguridad


Antes de enviar un comentario...
Todos los comentarios son revisados personalmente
Todo comentario que no haga relacion al codigo mostrado en esta pagina sera eliminado

Usuarios registrados tienen preferencia en recibir respuestas de ayuda!!
Ademas de poder insertar Imagenes,Enlaces y otras propiedades del editor.
Por favor, insertar los comentarios descriptivos.