У вас уже есть имя файла, поэтому вопрос заключается в том, как определить, является ли это уже абсолютным или относительным путем, и превратить последний в абсолютный путь.
Если это уже абсолютный путь, строка будет начинаться с /
. Если это не абсолютный путь, то вы знаете, что он относительно вашего текущего рабочего каталога. Учитывая это, вы можете определить текущий рабочий каталог вашего процесса и добавить к нему путь к файлу.
Если вы также хотите разрешить его в реальном пути (разрешить символические ссылки, удалить части .
и ..
), вы можете использовать функцию realpath.