Subir images o archivos al servidor con PHP y MySQL nos permite darle mas interactividad a los sistemas, asi podemos guardar fotos, documentos y mas.
Vamos a subir un archivo al servidor con las funciones que nos brinda PHP y guardarlas en una carpeta.
Este artículo es parte de la Guía de Desarrollo de Sistemas con PHP y MySQL Aprende a cerar un CRUD y las herramientas necesarias para empezar a crear tus propios sistemas. Ver la Guía Completa →
El nombre del archivo esta en la variable $_FILES que asu vez puede tener varios archivos por ejemplo $_FILES[“archivo1”] y $_FILES[“archivo2”] para acceder al nombre del archivo primero vamos al archivo y despues al nombre por ejemplo $_FILES[“archivo1”][“name”] es un array de arrays.
Formulario
Lo primero que necesitamos es un formulario que nos habilite subir archivos.
El formulario para subir archivos solo necesitamos el campo tipo file o archivo y el atributo especial en el elemento del formulario para comunicarle al servidor que el formulario lleva archivos.
<form method="post" action="upload1.php" enctype="multipart/form-data"> <input type="file" name="file1" required> <input type="submit" value="Subir"> </form>
Es facil, solo es necesario agregar el atributo enctype=”multipart/form-data”, tambien agregamos un elemento file y un boton submit.
En el action del formulario nos referimos al archivo upload1.php que contiene el codigo para subir archivos.
Codigo para subir archivos
El codigo para subir archivos es el siguiente.
<?php
if(isset($_FILES["file1"])){
$file1 = $_FILES["file1"];
if(move_uploaded_file( $file1["tmp_name"], "./uploads/".$file1["name"])){ // FUNCION PARA SUBUR EL ARCHIVO
echo "bien";
}else{
echo "error";
}
}
?>Como pueden ver se usa la funcion move_upload_file ($origen, $destino);
Lo que para es que al subirse los archivos se guardan en una ubicacion temporal, por ello el parametro tmp_name que es la url completa donde esta guardado, y en el parametro destino ponemos una url donde se va a guardar en nuestro servidor en una ubicacion que nosotros queramos.
El valor $file1[“name”] hace referencia al nombre del archivo real.
Una vez que el archivo esta en el servidor ya lo podemos procesar o mostrar al usuario en nuestro sistema o aplicacion web.
Te puede interesar. Como subir multiples imagenes al servidor y guardarlas con PHP y MySQL
Conclusion
Manejar archivos en un servidor es una tarea importante, ya que asi el sistema puede ser mas extensible al permitir subir imagenes o documentos se pueden compartir mas facil desde un sistema o aplicacion web.