Доброй ночи.
Код вполне рабочий.
Я правильно понимаю, что директории api и base лежат на одном уровне?
Что именно у Вас не работает?
Проверьте, что в переменной $keygen, может она у Вас пустая.
Проверьте, что вообще возвращает $_SERVER['DOCUMENT_ROOT'] . "/base/$keygen"
, может не тот путь.
И вообще, загляните в логи сервера, может у Вас где-то ошибка завалялась и в браузер она не выводится.