Ver Mensaje Individual
  #5 (permalink)  
Antiguo 09/04/2008, 08:02
usermax
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 18 años, 4 meses
Puntos: 11
Re: Ayuda con un Upload

Hola holaquepasa,

Para hacer upload de archivos ten en cuenta los siguientes pasos:

1) Preparemos el formulario.
Para esto nos fijamos como abrimos el formulario y dentro ponemos el campo "file".

Tradicionalmente un formulario se abre así:
Código HTML:
<form name="form" id="form" method="post" action="procesar.php"  /> 
Pero cuando quieras hacer upload de archivos debes abrirlo así:

Código HTML:
<form name="form" id="form" method="post" action="procesar.php" enctype="multipart/form-data" /> 
Fíjate que hemos agregado enctype="multipart/form-data", fundamental para subir archivos.

Ahora dentro del formulario debes agregar (ademas de todos los campos que tengas) el campo "file"

Código HTML:
<input type="file" name="archivo'" /> 
Fíjate que en "name" le puse "archivo", nombre con el que me referiré a este archivo más adelante en el servidor.

Finalmente, la estructura del formulario quedaría así:

Código HTML:
<form name="form" id="form" method="post" action="procesar.php" enctype="multipart/form-data" />
 
<input type="file" name="archivo'" />
 
</form> 
Una vez terminado pasemos al segundo paso

2). Cómo procesar en el servidor el archivo-

Se supone que ya has alegido el archivo en tu máquina local con el campo "file" y has enviado el formulario.

Al formulario lo enviamos a la página procesar.php (fíjate en action).
Como consecuencia procesar.php es el que se encargará de gusrdar el archivo en el server. Veamos como lo hacemos con PHP (fíjate que voy a comentar el código):



Código PHP:
// Primero ponemos la condición una sentencia que nos asergure que el archivo fue enviado desde un formulario y no maliciosamente,
// tmp_name es el nombre temporal que PHP le asigno al archivo al subirlo
// es la ruta real donde el archivo fue guardado temporalmente en el server
 
if (is_uploaded_file($_FILES['archivo']['tmp_name'])) {
 
// Si estamos aca entonces el envío es legítimo, continuemos procesando
 
// Ahora verifiquemos que el archivo no tenga mas tamaño del que nosotros 
// permitimos ( en este caso el tamaño maximo es 524288 (512kb))
 
 
if ($_FILES['archivo']['size'] < 524288) {
// Si estamos aca es porque cumple con el requisito del tamaño...
// entonces lo guardemos
 
move_uploaded_file ($_FILES['archivo']['tmp_name'], "home/miweb/upload/".$_FILES['archivo']['name']);
 
}

Y listo, reemplaza home/miweb/... por la ruta real de tu sitio y la carpeta donde quieres guardar el archivo.

Espero haberte orientado
Quedo a tu disposición amigo

SAludos