Subida de Archivos en Php – Codigo y Ejemplo

Subida de Archivos en Php – Codigo y Ejemplo

Subida de Archivos en Php – Codigo y Ejemplo
5 (100%) 3 votos

Hoy te mostraremos como realizar una subida de archivos en PHP mediante un ejemplo sencillo paso a paso pero muy completo, veremos como crear el formulario que permitirá a nuestros visitantes subir archivos, por supuesto nuestro codigo para subir archivos a nuestro servidor mediante PHP, como establecer restricciones al archivo y al final te muestro el resultado de nuestro ejemplo, la verdad es que subir archivos en php es pan comido. ¿Quieres aprender a subir un archivo con php? Esta es tu oportunidad! :yum:

Preparando el Formulario

Lo primero para la subida de archivos en php es crear el formulario que permitirá subir archivos a nuestro servidor, este lo hemos hecho de la manera mas sencilla posible. Abre tu editor de texto favorito y escribe lo siguiente:

y lo guardamos como index.html ( o cualquiera que quieras ). Nota lo siguiente:

El enctype=”multipart/form-data” sirve para especificar que nuestro formulario solicita datos binarios, el action=”subir-archivos.php” dice que cuando el usuario haga click sobre “Subir Archivo” iremos a esta pagina php en la cual manejaremos la subida (la veremos en un momento ), el input de tipo hidden mediante sus valores MAZ_FILE_SIZE especifica que únicamente aceptaremos archivos de máximo 250000 bytes (25Kb).

Código para subir archivos en Php

Ahora creamos otro archivo de texto que guardaremos como subir-archivos.php y en el que escribiremos lo siguiente:

Nota que:

  • Tienes que crearte una carpeta llamada subidas en tu directorio actual donde se subirán los archivos.
  • En la variable $_FILES[‘archivo-a-subir’][‘name’] se guarda el nombre del archivo que se envia, nota tambien que archivo-a-subir es el nombre de nuestro input en nuestro formulario.
  • No únicamente existe el campo name en la variable $_FILES, también existen otras como tmp_name, size, type, etc.
  • Se utiliza la funcion PHP move_upload_file para mover nuestro archivo al servidor, recibe 2 parámetros: ruta temporal donde esta nuestro archivo y ruta donde se guardara en nuestro servidor.
  • Si todo va bien se muestra un mensaje de éxito en caso contrario se muestra un mensaje de error.

Algunas Restricciones a los archivos

Podemos agregar algunos requerimientos para la subida de archivos en php, por ejemplo tamaño, tipo, etc. el codigo anterior lo podemos meter dentro de un IF que realice algunas restricciones:

Como puedes ver pedimos que sea una imagen de tipo gif, jpeg o jpg de tamaño no mayor de 25Kb, asegúrate de que el usuario sepa estos requerimientos. 


¿Sabías que?

¿Necesitas hospedaje web? DigitalServer te ofrece un 50% de descuento en cualquier plan de hosting a partir del plan Micro! Solo copia el cupon: PROMOEXH y sigue el siguiente enlace:

Obtener 50% de descuento

Ejemplo en Funcionamiento


Este ejemplo esta disponible para que lo pruebes tu mismo en Como Subir un Archivo en PHP – Lab

Subida de Archivos en Php – Codigo y Ejemplo

Subida de Archivos en Php – Codigo y Ejemplo
5 (100%) 3 votos

11
Dejar un comentario

avatar
9 Comment threads
2 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
10 Comment authors
jesuislatoujouryairCarlos Alberto LorenzoTeckabyHéctor Trejo Matamoros Recent comment authors
  Subscribe  
Notify of
jesuislatoujour
Guest
jesuislatoujour

hola
webremote es una carpeta la cual metemos en un deco ” mediante un pendrive” , al poner ip del deco en navigador (192.168.0.160),sale la pagina web “http://192.168.0.160/index.html…”.
si pongo un ejemplo.txt el la carpeta webremote ,y pongo “http://192.168.0.160/emplo.txt” me sale el contenido de este texto en el navigador.
ahora como hago para subir un texto desde pc a esta carpeta “webremote” ??

yair
Guest
yair

No se guarda la imagen al darle en el boton “subir archivo”.
Cree la carpeta subidas y trate de subir una imagen menor a 25kb desde la carpeta imagenes de mi pc.
Tengo el mismo error que en otro código similar echo con XMLHttpRequest.
Espero puedas ayudarme. saludos.

Carlos Alberto Lorenzo
Guest
Carlos Alberto Lorenzo

Còmo seria para archivos csv, txt, el tipo de archivos?, puede ser que no suban por temas de permiso?.
Saludos

Teckaby
Guest
Teckaby

Hola como ago para que solo me subo archivos pdf ise esto pero nada
if((($_FILES[“pdf”][“type”]==”image/pdf”)))

Héctor Trejo Matamoros
Guest
Héctor Trejo Matamoros

Buenas tardes estimado Jonathan, muchas gracias por tu aportación. El código que compartes y explicas funciona a la perfección. Oye, así como funciona el botón “Seleccionar Archivo” que al dar “click” se abre una ventana para explorar la ubicación y seleccionar el archivo a subir… habrá algo similar para que en la sección de “subir-archivos.php” haya manera de indicar la carpeta destino? esto es, que además de la carpeta “subidas”, tenga una carpeta llamada “subidas_finanzas”, otra llamada “subidas_academica”, y que pueda indicar a cuál carpeta se quiere direccionar la subida? inclusive si creo una nueva carpeta, la rutina de opción… Read more »

Santiago
Guest
Santiago

Muchas gracias por este ejemplo. Quería preguntarte, qué tan difícil es hacer que este archivo que se sube a nuestro server se envíe por email, o qué tan difícil es hacer que llegue a un email junto con otros datos un link generado automáticamente con el destino del archivo subido.
Desde ya muchas gracias

Gutipieg
Guest
Gutipieg

Buen ejemplo y operativo a 10 de febrero de 2017, las webs no se actualizan y te terminan liando.

Muchas gracias.

blogm
Guest
blogm

Hola, práctico tutorial pero quería preguntarte, como le añado una barra de progreso a la subida?

sara mendoza
Guest
sara mendoza

se ve bastante facil pense que seria mas dificil hehe