El tema esta en ver como haces para avisar que terminaste descargar los archivos.
Trata de convertir los archivos en funciones.
Pero con algo parecido a esto deberia funcinar
Código PHP:
funcion descarga(){
# tiene que devolver falso cuando deja descargar
# true o el nombre del archivo cuando descarga( TRUE si tiene el mismo nombre el archivo de descarga y el "nombre" si se lo cambias en cada descarga )
}
function convertirJSON(){
#ejecuta la conversion a json.
}
$convertir = descarga();
while ($convertir) {
convertirJSON();
$convertir = descarga();
}