En este tutorial aprenderemos cargar imágenes y archivos al servidor desde PHP y MySQL.
Requisitos:
- Servidor Web, PHP y MySQL. Ver Capitulo 1
- Ejemplo del Capitulo 4. Ver Capitulo 4
El atributo enctype="multipart/form-data"
es necesario para indicar al navegador que el formulario contendrá datos binarios, como archivos, y no solo datos de texto. Esto permite que el navegador maneje adecuadamente la carga de archivos al servidor.
Ejemplo de uso:
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="archivo">
<input type="submit" value="Subir archivo">
</form>
Podemos agregar un filtrado para que solo nos permita seleccionar algunos tipos de archivo, con el atributo accept:
audio/* | Archivos de Audio | Cualquier extensión de audio |
video/* | Archivos de Vídeo | Cualquier extensión de Vídeo |
image/* | Archivos de Imagen | Cualquier extensión de Imagen |
image/png | Imagenes PNG | Podemos agregar extensiones como jpeg, gif y mas |
application/pdf | Archivos PDF | Documentos en PDF |
application/msword | Archvio DOC o DOCX | Documentos de Word |
application/vnd.ms-excel | Archivo XSLX | Hojas de Calculo |
Ejemplo:
//Elegir imágenes <input name="archivo" type="file" accept="image/*" /> //Elegir solo imágenes PNG <input name="archivo" type="file" accept="image/png" /> //Elegir imágenes jpeg y gif <input name="archivo" type="file" accept="image/jpeg,image/gif" /> //Elegir archivos pdf <input name="archivo" type="file" accept="application/pdf" />
Cuando se envíe el formulario podemos recibir el elemento de tipo file $_FILES["archivo"]
$archivo = $_FILES["archivo"];
if ($archivo["error"] === UPLOAD_ERR_OK) {
$nombre_temporal = $archivo["tmp_name"];
$nombre_archivo = $archivo["name"];
// Mueve el archivo cargado a una ubicación deseada
move_uploaded_file($nombre_temporal, "carpeta_destino/$nombre_archivo");
echo "El archivo se ha subido con éxito.";
} else {
echo "Error al subir el archivo.";
}
En la descarga viene el código completo para guardar, modificar, eliminar y mostrar imágenes o archivos cargados al servidor.
Recuerda suscribirte a nuestro canal de YouTube, ¡¡¡Es Gratis!!!
Tutorial en Vídeo: