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