<?php

/**
 * Returns the extension of the filename (path or URI) or an empty string.
 * @return string Extension of the filename starting with a dot.
 */
function getExtension($filename, $isURI = false) {

	// If $filename is an URI, get only the path component
	if ($isURI===true) $filename = parse_url($filename, PHP_URL_PATH);

	$extension = pathinfo($filename, PATHINFO_EXTENSION);

	// Special cases
	// https://github.com/electerious/Lychee/issues/482
	list($extension) = explode(':', $extension, 2);

	if (empty($extension)===false) $extension = '.' . $extension;

	return $extension;

}

?>
<?php

/**
 * Returns the extension of the filename (path or URI) or an empty string.
 * @return string Extension of the filename starting with a dot.
 */
function getExtension($filename, $isURI = false) {

	// If $filename is an URI, get only the path component
	if ($isURI===true) $filename = parse_url($filename, PHP_URL_PATH);

	$extension = pathinfo($filename, PATHINFO_EXTENSION);

	// Special cases
	// https://github.com/electerious/Lychee/issues/482
	list($extension) = explode(':', $extension, 2);
	list($extension) = explode('?', $extension, 2);

	if (empty($extension)===false) $extension = '.' . $extension;

	return $extension;

}

?>
Allow URL import of photos containing a question mark
Allow URL import of photos containing a question mark
