Subida de Archivos en Php – Codigo y Ejemplo

Subida de Archivos en Php – Codigo y Ejemplo

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:

<html>
<head><title>Tu titulo aqui!</title></head>
<body>
<form enctype="multipart/form-data" action="subir-archivos.php" method="POST"> 
<input type="hidden" name="MAX_FILE_SIZE" value="250000" /> 
Elige el Archivo a Subir:
<input name="archivo-a-subir" type="file" /><br />
<input type="submit" value="Subir Archivo" />
</form>
</html>

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:


¿Sabías que?

¿Necesitas hosting wordpress? WebEmpresa te ofrece un servicio super rápido, excelente soporte en español y certificado SSL gratuito:

WebEmpresa

$target_path = "subidas/"; 
$target_path = $target_path . basename( $_FILES['archivo-a-subir']['name']); 
if(move_uploaded_file($_FILES['archivo-a-subir']['tmp_name'], $target_path)) 
{ 
echo "El archivo ". basename( $_FILES['archivo-a-subir']['name'])." ha sido subido exitosamente!"; 
} 
else
{ 
echo "Hubo un error al subir tu archivo! Por favor intenta de nuevo."; 
}

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:

if ((($_FILES["archivo-a-subir"]["type"] == "image/gif")
  || ($_FILES["archivo-a-subir"]["type"] == "image/jpeg")
  || ($_FILES["archivo-a-subir"]["type"] == "image/jpg"))
  && ($_FILES["archivo-a-subir"]["size"] < 25000))
{

TU CODIGO VA AQUI!

else
{
 echo "Archivo Invalido!!, comprueba las 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. 

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

Clic para valorar esta información
[Total: 0 Promedio: 0]