Ejercicio de programación con PHP: Reto archivos en formularios

Código
Práctica
0h 30m

Desarrolla un sistema de subida de imágenes en PHP que permita a los usuarios cargar únicamente archivos JPG, PNG o GIF con un tamaño máximo de 1MB. El sistema debe:

  1. Crear un formulario HTML con el atributo enctype correcto que permita seleccionar un archivo de imagen
  2. Validar que el archivo sea una imagen válida utilizando tanto la extensión como el tipo MIME real del archivo
  3. Verificar que el tamaño no exceda 1MB
  4. Generar un nombre único para el archivo antes de guardarlo
  5. Almacenar las imágenes en un directorio llamado 'uploads' (créalo si no existe)
  6. Mostrar un mensaje de éxito con el nombre original del archivo si la subida es correcta
  7. Mostrar un mensaje de error apropiado si la validación falla

Todos los mensajes deben mostrarse en la misma página del formulario. Implementa las medidas de seguridad necesarias para evitar vulnerabilidades.

Empezar ejercicio de programación

Todos los ejercicios de programación de PHP

Evalúa tus conocimientos con ejercicios de programación en PHP de tipo Test, Puzzle, Código y Proyecto con VSCode.

Tutorial para resolver este ejercicio de programación

PHP

PHP

Manejo de archivos en formularios

Formularios

Otros tutoriales de programación con PHP

Introducción A Php

PHP

Introducción Y Entorno

Instalación Y Primer Programa De Php

PHP

Introducción Y Entorno

Tipos De Datos, Variables Y Constantes

PHP

Sintaxis

Operadores Y Expresiones

PHP

Sintaxis

Estructuras De Control

PHP

Sintaxis

Funciones Y Llamada De Funciones

PHP

Sintaxis

Cadenas De Texto Y Manipulación

PHP

Sintaxis

Manejo De Números

PHP

Sintaxis

Manejo De Fechas Y Tiempo

PHP

Sintaxis

Manejo De Arrays

PHP

Sintaxis

Introducción A La Poo En Php

PHP

Programación Orientada A Objetos

Clases Y Objetos

PHP

Programación Orientada A Objetos

Constructores Y Destructores

PHP

Programación Orientada A Objetos

Herencia

PHP

Programación Orientada A Objetos

Encapsulación

PHP

Programación Orientada A Objetos

Polimorfismo

PHP

Programación Orientada A Objetos

Interfaces

PHP

Programación Orientada A Objetos

Traits

PHP

Programación Orientada A Objetos

Namespaces

PHP

Programación Orientada A Objetos

Autoloading De Clases

PHP

Programación Orientada A Objetos

Manejo De Errores Y Excepciones

PHP

Programación Orientada A Objetos

Manejo De Archivos

PHP

Programación Orientada A Objetos

Patrones De Diseño

PHP

Programación Orientada A Objetos

Introducción A Los Formularios En Php

PHP

Formularios

Procesamiento De Datos De Formularios

PHP

Formularios

Redirecciones Y Retroalimentación Al Usuario

PHP

Formularios

Formularios Dinámicos Y Separación De Lógica

PHP

Formularios

Introducción A La Persistencia En Php

PHP

Persistencia

Conexión A Bases De Datos

PHP

Persistencia

Consultas Y Operaciones Crud

PHP

Persistencia

Gestión De Transacciones

PHP

Persistencia

Manejo De Errores Y Excepciones En Base De Datos

PHP

Persistencia

Patrones De Acceso A Datos

PHP

Persistencia

Concepto De Sesiones En Php

PHP

Sesiones Y Cookies

Configuración De Sesiones

PHP

Sesiones Y Cookies

Cookies

PHP

Sesiones Y Cookies

Manejo Avanzado De Sesiones Y Cookies

PHP

Sesiones Y Cookies

Principales Vulnerabilidades En Php

PHP

Seguridad

Seguridad En Formularios Y Entrada De Datos

PHP

Seguridad

Protección Frente A Inyección Sql

PHP

Seguridad

Gestión De Contraseñas Y Cifrado

PHP

Seguridad

Seguridad En Sesiones Y Cookies

PHP

Seguridad

Configuraciones De Php Para Seguridad

PHP

Seguridad

Introducción Al Testing En Php

PHP

Testing

Phpunit

PHP

Testing

Cobertura De Código En Testing

PHP

Testing

Test Doubles (Mocks, Stubs, Fakes, Spies)

PHP

Testing

Pruebas De Integración Y Funcionales

PHP

Testing