Este es un ejemplo sencillo para subir una imagen .jpg o .gif a un servidor web por HTTP y a través de una página con un formulario. Ademas al final del artículo encontraras los archivos de ejemplo.
Primero, creamos el formulario donde el usuario seleccionara la imagen que subirá.
Observa que se ha colocado un atributo en el formulario:
enctype="multipart/form-data". Este atributo es necesario para subir en un mismo formulario datos y archivos.
Este es su aspecto. Además puedes incluir campos de texto, si lo necesitas.
La página que sube los archivos la llamaremos subirarchivo.php
En esta página haremos las comprobaciones necesarias para saber si las características del archivo a subir son las que deseamos y realizar la copia del archivo.
Al envír el formulario, el navegador lo copia en una localización temporal del servidor, de donde nosotros lo moveremos a un lugar definitivo donde queremos que se almacene. Recuerda que esta carpeta debe tener los permisos 777.
Si no es copiado a ningún sitio, después de la ejecución de la página, es borrado. Así que lo moveremos con la función move_uploaded_file(), que recibe el nombre del archivo temporal que se desea subir y el nombre del archivo que se deseamos dar.
-
<?php
-
//El tipo mime del fichero. Un ejemplo podría ser "image/gif".
-
$tipo = $HTTP_POST_FILES['userfile']['type'];
-
-
//El tamaño en bytes del fichero recibido.
-
$tamano = $HTTP_POST_FILES['userfile']['size'];
-
-
// El nombre original del fichero en la máquina del usuario lo obtenemos con:
-
// $HTTP_POST_FILES['userfile']['name'];
-
-
// Pero en este caso crearemos un nuevo nombre para evitar reemplazar alguno si ya existe.
-
//obtenermos la extension del archivo.
-
if ($HTTP_POST_FILES['userfile']['type']=="image/gif"){ $formato="GIF"; }
-
if ($HTTP_POST_FILES['userfile']['type']=="image/jpeg"){ $formato="JPG"; }
-
-
-
-
//comprobamos si las características del archivo son las autorizadas.
-
-
echo 'La extensión o el tamaño de los archivos no es correcta.';
-
echo '<br /><br />Se permiten archivos .gif o .jpg de un tamaño de 100 Kb máximo.';
-
}else{
-
//El nombre del fichero temporal que se utiliza para almacenar en el servidor el archivo recibido.
-
echo "El archivo ha sido cargado correctamente.";
-
}else{
-
echo "Ocurrió algún error al subir el fichero. No pudo guardarse.";
-
}
-
}
-
?>


hola super bien muchas gracias… solo una cosilla… como hago para visualizar el porcentaje de subida del archivo????????????
tengo una duda cuando le doy click en el boton enviar, me dice El archivo ha sido cargado correctamente. pero no se muestra
Hola manuel gonzalez, Este es un ejemplo sencillo, necesitarias utilizar alguna herramienta como ajax para ver la carga del archivo.
Hola Irais, y ya revisaste si el archivo existe dentro de la carpeta files?
Dime como pudo ayudarte.
hola grx por responder =)
haber si me explico bien, soy diseñador grafico, y la idea es usar este medio para que diferentes compañeros de trabajo puedan subir los archivos, para q a su vez los proveedores puedan bajar los archivos a
imprimir.
entonces, tengo el siguiente problema
cada archivo comprimido compuesto con diferentes archivos pueden pesar perfectamente 50 megas, entonces cuando se hace el acceso a traves de este metodo no se sabe cuanto falta, si sube o no suben los archivos, bueno de ahi mi pregunta….
como hago para visualizar el porcentaje de subida del archivo???
ahora tu me hablas de ajax y la verdad que primera vez q lo escucho,
lamento mi ignorancia.
Ya coloque las imagenes pero me muestra El archivo ha sido cargado correctamente con un cuadro que contiene una equis roja
como le puedo hacer para que se visualice la imagen
Hola manuel gonzalez
echale un ojo a la entrada mostrar imagenes con ajax y php para que te des una empapada de ajax.
Al final de la entrada encontraras un enlace que te muestra como hacer lo que quieres pero no lo he probado
Suerte y me gustaría que compartieras con nosotros el código que realices para seguir aprendiendo todos.
Hola,, que exelente script, lo implemete con una conexion a base de datos , si alguien le interesa envienme un correo a jf_galeano@yahoo.es. ahora me gustaria saber como hago para llamar y mostrar por pantalla los campos que ingrese junto con la imagen guardada. gracias
Que buen aporte gracias
——————————–
WOOOOOWWWWWWWW
Gracias!!!! por fin un script que me ha funcionado!!!
pero ahora…¿como borro el archivo que he subido? Por que por ftp no me aparece
ANDA!!!
Si que aparece,tenia que refrescar la página
Gracias de nuevo por este script,es muy muy útil!!
HOLA MUCHAS GRACIAS POR EL SCRIPT, NECESITO HACER LO MISMO PERO GUARDANDO LA URL DE LA IMAGEN EN UNA BASE DE DATOS Y LUEGO A TRAVES DE UN QUERY SQL MOSTRARLA, POR FAVOR NECESITO AYUDA…
Yo tambien quiero subir el upload de imagen, junto a un formulario de registro, y guardar la url en la BD, para q luego todo cargue en la web cuando un usuario haga login.