Viva,
Penso que está a acontecer uma confusão, porque localhost é endereço para publicares para o cliente, quando o PHP processa tens que dar caminho fisicos no disco, localhost é um caminho para o webserver.
Tens que pensar que para o cliente carregar as imagens, tens que criar o link/src com ex localhost/app/adms/assets/images/produtos/1/image.jpg mas, para o PHP listar tens que lhe dar um caminho local tipo var/www/nome_do_projecto/app/adms/assets/images/produtos/1/
É comum usar estas variaveis globais __DIR__ ou __FILE__, depende agora um pouco também do modo como está feito o projecto para ser mais ou menos facil navegar no disco.