Hai usato tutto il mio codice? Non è cambiato solo lì, è cambiato anche dentro il while.

Se usi $files senza le parentesi quadre, stai usando una variabile semplice, che può contenere un solo valore, quindi alla fine del coclo c'è solo una valore.
Con le quadre invece diventa un array e può contenere quanti valori vuoi.