Mostrando Codigo - Perl & Cgi
Ejemplo de hacer upload al servidor
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
CODIGO
// Codigo ofrecido por Tutores.org
<html>
<head><title>Subir archivos al servidor</title></head>
<body>
<form action="upload.pl" enctype="multipart/form-data">
<input name="archivo" type="file" id="archivo">
<input type="submit" value="Subir archivo">
</form>
</body>
</html>
...... archivo: upload.pl........
#!/usr/bin/perl
use CGI qw(:standard);
print header;
$in_file=param('archivo');
$data="";
while(<$in_file>){
$data.=$_;
}
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 -->
<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
giovaweb 02/10/2004 6.25.18
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
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
Tutores.org 19/04/2003
Hola giovaweb
el archivo debes insertarlo dentro de la carpeta cgi-bin de tu servidor.
El archivo subirá a esta misma carpeta.
saludos
el archivo debes insertarlo dentro de la carpeta cgi-bin de tu servidor.
El archivo subirá a esta misma carpeta.
saludos
karina 13-12-2007 01:46:29
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
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
emmanuel 15-11-2008 22:35:16
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?
#!/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?
emmanuel 15-11-2008 22:35:16
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
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
Tutores.org 19/04/2003
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
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
emmanuel 15-11-2008 22:35:16
:(
pero....?
si era asi?
y si no.
puedes ayudarme con esto del php?
pero....?
si era asi?
y si no.
puedes ayudarme con esto del php?
Tutores.org 19/04/2003
Hola emmanuel
Hemos insertado un nuevo codigo que creemos que puede servirte
Subir archivo o upload al servidor con php
saludos
Hemos insertado un nuevo codigo que creemos que puede servirte
Subir archivo o upload al servidor con php
saludos
michelle 09-11-2007 13:42:18
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
He instalado el formulario sin problema.
He instalado el upload.pl en cgi-bin
No funciona!
Que hago mal?
Michelle
suglus
Checkea este codigo que hace mejor lo que quieres
a mi me funciono en acuatoria.com
http://perlenespanol.baboonsoftware.com/foro/about645.html
a mi me funciono en acuatoria.com
http://perlenespanol.baboonsoftware.com/foro/about645.html
ITZEL
se me dificulta agregra codigo html para un servidor cgi
Borichito
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">Poblacin*:</td>
<td class="contacto"><INPUT TYPE="text" NAME="poblacion"SIZE="32"></td>
</tr>
<tr>
<td class="contacto1">Profesin:</td>
<td class="contacto"><INPUT TYPE="text" NAME="profesion" SIZE="32"></td>
</tr>
<tr>
<td class="contacto1">Telfono fijo:</td>
<td class="contacto"><INPUT NAME="telefonof" TYPE="text" SIZE="12" MAXLENGTH="12"></td>
</tr>
<tr>
<td class="contacto1">Telfono mvil: *</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
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">Poblacin*:</td>
<td class="contacto"><INPUT TYPE="text" NAME="poblacion"SIZE="32"></td>
</tr>
<tr>
<td class="contacto1">Profesin:</td>
<td class="contacto"><INPUT TYPE="text" NAME="profesion" SIZE="32"></td>
</tr>
<tr>
<td class="contacto1">Telfono fijo:</td>
<td class="contacto"><INPUT NAME="telefonof" TYPE="text" SIZE="12" MAXLENGTH="12"></td>
</tr>
<tr>
<td class="contacto1">Telfono mvil: *</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
Jorge 08/11/2004 18.01.55
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











