Recorrerse recursivamente un directorio y redimensiona y reduce peso a todas las imágenes

Este script se encarga de recorrerse recursivamente por ejemplo el directorio uploads, donde hay una carpeta con cada id_cliente donde se guardan las imagenes de su gestión documental, estas imagenes se han subido desde una app con el movil, por lo que, como no existía un algoritmo para quitar peso a las imagenes, cada imagen que se ha subido ocupa unos 4-6megas, por lo que con el tiempo ha repercutido en copias de seguridad muy pesadas.

Para solucionar esto dicho script se recorre automaticamente todos los directorios y subdirectorios y reduce el peso de las imagenes que hay dentro, de unos 4-6 megas a unos 50 kb.

Para llamar a esta función desde codeigniter lo haríamos así: