Данная ошибка получается очень редко, т.к. причина её появления, в принципе, очевидна после первого знакомства с ней. Итак, разберем, как решить ошибку Fatal error: Cannot re-assign auto-global variable.
С текста ошибки понятно, что компилятор не может переопределить глобальную переменную.
Данная ошибка возникает в следующей ситуации:
public static function saveAny($token, $_FILES)....
Как видите в объявленных параметрах указана глобальная переменная, которая, как раз и вызывает ошибку. В такой ситуации есть два пути:
1) Просто уберите из объявления глобальную переменную, при этом все, обращения к ней внутри метода не должны вызывать проблем.
2) Измените объявление функции, а также её вызов.
Объявление:
public static function saveAny($token, $files)....
Вызов:
saveAny($someOutSideToken, $_FILES);
Как видите мы передаем в метод все тот же глобальный массив, но теперь он внутри метода уже должен быть использован с новым именем.
Второй метод более предпочтительный, так как позволяет использовать различные абстракции при обращении к методу, не изменяя его самого.