code: public static function getRelativePath( $path, $start = null ) {
  		if ( $start === null ) {
  			// @codeCoverageIgnoreStart
  			$start = getcwd();
  		}
  		// @codeCoverageIgnoreEnd
  
  		if ( substr( $path, 0, 1 ) !== '/' || substr( $start, 0, 1 ) !== '/' ) {
  			return false;
  		}
  
  		$pathParts = self::splitPath( $path );
  		$countPathParts = count( $pathParts );
  
  		$startParts = self::splitPath( $start );
  		$countStartParts = count( $startParts );
  
  		$commonLength = min( $countPathParts, $countStartParts );
  		for ( $i = 0; $i < $commonLength; $i++ ) {
  			if ( $startParts[$i] !== $pathParts[$i] ) {
  				break;
  			}
  		}
  
  		$relList = ( $countStartParts > $i )
  			? array_fill( 0, $countStartParts - $i, '..' )
  			: [];
  
  		$relList = array_merge( $relList, array_slice( $pathParts, $i ) );
  
  		return implode( '/', $relList ) ?: '.';
  	}
docs: Return a relative filepath to path either from the current directory or from
  an optional start directory. Both paths must be absolute.
  
  @param string $path File path.
  @param string|null $start Start directory. Optional; if not specified, the current
  working directory will be used.
  @return string|bool Relative path, or false if input was invalid.