PHP: Cómo resolver una url relativa

Necesito una función que, dada una URL relativa y una base, devuelva una URL absoluta. He buscado y encontrado muchas funciones que lo hacen de diferentes maneras.

resolve("../abc.png", "http://example.com/path/thing?foo=bar")
# returns http://example.com/abc.png

¿Hay una forma canónica?

En este sitio, veo excelentes ejemplos para python y c #, obtengamos una solución PHP.

Respuestas a la pregunta(7)

Su respuesta a la pregunta